Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ToolStripCustomTypeDescriptor.cs / 1 / ToolStripCustomTypeDescriptor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System.Design; using System.ComponentModel; using System.Diagnostics; using System; using System.Collections; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Windows.Forms; ////// ToolStripCustomTypeDescriptor class. /// internal class ToolStripCustomTypeDescriptor : CustomTypeDescriptor { ToolStrip instance = null; PropertyDescriptor propItems = null; PropertyDescriptorCollection collection = null; public ToolStripCustomTypeDescriptor(ToolStrip instance) : base() { this.instance = instance; } ////// /// The GetPropertyOwner method returns an instance of an object that /// owns the given property for the object this type descriptor is representing. /// An optional attribute array may be provided to filter the collection that is /// returned. Returning null from this method causes the TypeDescriptor object /// to use its default type description services. /// public override object GetPropertyOwner(PropertyDescriptor pd) { return instance; } ////// /// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// public override PropertyDescriptorCollection GetProperties() { if (instance!= null && collection == null) { PropertyDescriptorCollection retColl = TypeDescriptor.GetProperties(instance); PropertyDescriptor[] propArray = new PropertyDescriptor[retColl.Count]; retColl.CopyTo(propArray, 0); collection = new PropertyDescriptorCollection(propArray, false); } if (collection.Count > 0) { propItems = collection["Items"]; if (propItems != null) { collection.Remove(propItems); } } return collection; } ////// /// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// Here we will pass the "collection without the "items" property. /// public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) { if (instance!= null && collection == null) { PropertyDescriptorCollection retColl = TypeDescriptor.GetProperties(instance); PropertyDescriptor[] propArray = new PropertyDescriptor[retColl.Count]; retColl.CopyTo(propArray, 0); collection = new PropertyDescriptorCollection(propArray, false); } if (collection.Count > 0) { propItems = collection["Items"]; if (propItems != null) { collection.Remove(propItems); } } return collection; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SerialErrors.cs
- TextContainerHelper.cs
- COM2ComponentEditor.cs
- AspProxy.cs
- ConstNode.cs
- PrimitiveType.cs
- SemanticResolver.cs
- IisTraceWebEventProvider.cs
- EdmToObjectNamespaceMap.cs
- TextReader.cs
- AssemblySettingAttributes.cs
- TitleStyle.cs
- SchemaTableColumn.cs
- DefaultTextStoreTextComposition.cs
- TreeNodeBindingCollection.cs
- TextElementEnumerator.cs
- CodeAttributeDeclaration.cs
- StringUtil.cs
- TypeDelegator.cs
- FieldNameLookup.cs
- PasswordPropertyTextAttribute.cs
- XMLSchema.cs
- COM2PictureConverter.cs
- SspiSecurityToken.cs
- SystemResourceKey.cs
- Positioning.cs
- Atom10FeedFormatter.cs
- ClaimSet.cs
- EventProviderBase.cs
- EditorZone.cs
- WsatAdminException.cs
- PrintPageEvent.cs
- Section.cs
- Compiler.cs
- SubMenuStyleCollection.cs
- VectorConverter.cs
- ConvertBinder.cs
- XMLDiffLoader.cs
- FrameworkContentElementAutomationPeer.cs
- SiteIdentityPermission.cs
- SHA1CryptoServiceProvider.cs
- ProgressBar.cs
- ZipIOExtraFieldElement.cs
- ErasingStroke.cs
- StubHelpers.cs
- RequestCacheValidator.cs
- Globals.cs
- SecUtil.cs
- RealProxy.cs
- FieldInfo.cs
- FontInfo.cs
- UITypeEditor.cs
- DummyDataSource.cs
- TokenFactoryCredential.cs
- Transform.cs
- AsyncOperationLifetimeManager.cs
- AttributeUsageAttribute.cs
- WithStatement.cs
- ConnectionOrientedTransportChannelFactory.cs
- AddInPipelineAttributes.cs
- FunctionImportMapping.cs
- PenContexts.cs
- AudioStateChangedEventArgs.cs
- HostProtectionPermission.cs
- VirtualStackFrame.cs
- Object.cs
- GPRECT.cs
- DbgUtil.cs
- ListControl.cs
- ControlParameter.cs
- GeometryCombineModeValidation.cs
- CachedBitmap.cs
- OdbcConnectionHandle.cs
- IndexOutOfRangeException.cs
- TableNameAttribute.cs
- XmlSchemaGroup.cs
- SHA1.cs
- SocketException.cs
- ViewEventArgs.cs
- GeometryHitTestResult.cs
- PenCursorManager.cs
- AddInContractAttribute.cs
- CommonGetThemePartSize.cs
- TreeViewAutomationPeer.cs
- MenuItemStyleCollection.cs
- EmptyElement.cs
- TextSpanModifier.cs
- TextProperties.cs
- EntityRecordInfo.cs
- Drawing.cs
- ConnectionManagementElement.cs
- FontFaceLayoutInfo.cs
- CodeGotoStatement.cs
- ContainerActivationHelper.cs
- CloudCollection.cs
- MobileControlPersister.cs
- MergeLocalizationDirectives.cs
- MgmtConfigurationRecord.cs
- DebugInfoGenerator.cs
- RpcAsyncResult.cs