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
- TemplateBindingExpressionConverter.cs
- FixUp.cs
- AtomicFile.cs
- XamlToRtfParser.cs
- QuaternionIndependentAnimationStorage.cs
- PixelFormatConverter.cs
- BitmapSource.cs
- _ConnectionGroup.cs
- RegularExpressionValidator.cs
- AssociatedControlConverter.cs
- ObjectConverter.cs
- ContextQuery.cs
- HashLookup.cs
- _Events.cs
- IMembershipProvider.cs
- EditorPartCollection.cs
- LazyTextWriterCreator.cs
- AnimationStorage.cs
- TemplateField.cs
- FaultContext.cs
- Rotation3DAnimation.cs
- DesignerUtils.cs
- SqlCacheDependencySection.cs
- Size.cs
- SiteMapNode.cs
- ApplicationServiceManager.cs
- EntityCollectionChangedParams.cs
- TreeNodeEventArgs.cs
- Pointer.cs
- BindingManagerDataErrorEventArgs.cs
- StringCollection.cs
- CategoryValueConverter.cs
- TargetInvocationException.cs
- ConsumerConnectionPointCollection.cs
- ApplicationSecurityInfo.cs
- CodeSubDirectory.cs
- TextFormattingConverter.cs
- HwndAppCommandInputProvider.cs
- SmtpSection.cs
- HitTestWithPointDrawingContextWalker.cs
- UmAlQuraCalendar.cs
- Brush.cs
- SchemaImporterExtensionElement.cs
- IERequestCache.cs
- TypeToken.cs
- validationstate.cs
- UnsafeNativeMethods.cs
- ToolStripManager.cs
- PcmConverter.cs
- Compiler.cs
- PersonalizablePropertyEntry.cs
- XpsResourcePolicy.cs
- DataObjectFieldAttribute.cs
- MemberPath.cs
- ChangePassword.cs
- Brushes.cs
- WebPartTracker.cs
- HMACSHA1.cs
- ImmutablePropertyDescriptorGridEntry.cs
- PreApplicationStartMethodAttribute.cs
- _Events.cs
- CryptoApi.cs
- ReadWriteSpinLock.cs
- DataBoundLiteralControl.cs
- XomlCompilerHelpers.cs
- CodeTypeReferenceCollection.cs
- BrowserInteropHelper.cs
- SafeBitVector32.cs
- TreeNodeMouseHoverEvent.cs
- DictionaryEntry.cs
- IconEditor.cs
- MimeTypeMapper.cs
- ParameterBuilder.cs
- CachedFontFamily.cs
- ViewStateException.cs
- CryptoStream.cs
- FullTextBreakpoint.cs
- ResourceExpression.cs
- SQlBooleanStorage.cs
- MediaSystem.cs
- BinarySerializer.cs
- Size3DConverter.cs
- SqlDataSourceView.cs
- StylusOverProperty.cs
- SafeWaitHandle.cs
- AssociationSetMetadata.cs
- BackoffTimeoutHelper.cs
- Timer.cs
- DataSysAttribute.cs
- GreenMethods.cs
- AssociationProvider.cs
- ValueProviderWrapper.cs
- SerialPort.cs
- CompilerCollection.cs
- ListCollectionView.cs
- BinaryConverter.cs
- Int32CollectionValueSerializer.cs
- TimeoutException.cs
- Transform3D.cs
- SkinBuilder.cs