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
- AspCompat.cs
- XmlEncodedRawTextWriter.cs
- TraceUtility.cs
- SpeakProgressEventArgs.cs
- QueryCacheEntry.cs
- SystemKeyConverter.cs
- AssemblyNameProxy.cs
- SQLInt16.cs
- SqlStream.cs
- DataGridViewIntLinkedList.cs
- HtmlContainerControl.cs
- MDIWindowDialog.cs
- AnonymousIdentificationSection.cs
- DesignerMetadata.cs
- FullTextState.cs
- XmlObjectSerializerWriteContext.cs
- KeyEvent.cs
- ReadOnlyHierarchicalDataSourceView.cs
- WebControlAdapter.cs
- Message.cs
- EUCJPEncoding.cs
- Switch.cs
- JournalEntryStack.cs
- Int32CollectionValueSerializer.cs
- GridViewCancelEditEventArgs.cs
- ProxyHelper.cs
- EventLogPermissionEntryCollection.cs
- webeventbuffer.cs
- SpeechSeg.cs
- DispatcherSynchronizationContext.cs
- OutputScope.cs
- WebColorConverter.cs
- GroupItem.cs
- MimeObjectFactory.cs
- FutureFactory.cs
- DeobfuscatingStream.cs
- ObfuscationAttribute.cs
- XmlDictionaryString.cs
- EntityDataSourceUtil.cs
- OleDbDataAdapter.cs
- MobileErrorInfo.cs
- smtpconnection.cs
- Variant.cs
- TextWriterTraceListener.cs
- SpellerStatusTable.cs
- SoapMessage.cs
- Utils.cs
- DebugHandleTracker.cs
- LogicalExpr.cs
- CodeTypeParameterCollection.cs
- MessageUtil.cs
- IERequestCache.cs
- WebConfigurationFileMap.cs
- FontCacheLogic.cs
- TableLayout.cs
- FixedSOMPage.cs
- Stack.cs
- ExpressionBindingCollection.cs
- ConstrainedDataObject.cs
- CreateRefExpr.cs
- Trigger.cs
- CodeTypeDeclaration.cs
- NotCondition.cs
- MissingManifestResourceException.cs
- ClientFormsIdentity.cs
- ColorTranslator.cs
- DataControlPagerLinkButton.cs
- DbConnectionFactory.cs
- FilteredAttributeCollection.cs
- Pkcs7Recipient.cs
- ImageDrawing.cs
- CultureTable.cs
- XslAst.cs
- OrderingInfo.cs
- XPathMessageFilterElementComparer.cs
- Set.cs
- TokenizerHelper.cs
- _ScatterGatherBuffers.cs
- SqlServices.cs
- ExpressionTextBoxAutomationPeer.cs
- MethodToken.cs
- FixedSOMContainer.cs
- MeshGeometry3D.cs
- Evaluator.cs
- CellRelation.cs
- TextEditorSpelling.cs
- IsolatedStorage.cs
- SmtpFailedRecipientException.cs
- GACMembershipCondition.cs
- LinqDataSourceInsertEventArgs.cs
- UriParserTemplates.cs
- ToolboxItem.cs
- ExtentKey.cs
- ExeContext.cs
- LinqDataSourceDeleteEventArgs.cs
- ConfigurationFileMap.cs
- _UriSyntax.cs
- PolicyUtility.cs
- PreservationFileReader.cs
- LinkedResource.cs