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
- DataObjectAttribute.cs
- OleDbCommandBuilder.cs
- SelectedCellsChangedEventArgs.cs
- VideoDrawing.cs
- Literal.cs
- MissingMethodException.cs
- ControlEvent.cs
- SecurityDescriptor.cs
- DataServiceQuery.cs
- VariantWrapper.cs
- QueryStringParameter.cs
- AssemblySettingAttributes.cs
- GridViewDeletedEventArgs.cs
- Margins.cs
- ServiceDiscoveryBehavior.cs
- ListViewItem.cs
- DataControlFieldCollection.cs
- ListBindingHelper.cs
- WindowsAuthenticationEventArgs.cs
- Divide.cs
- ExpressionEvaluator.cs
- SspiNegotiationTokenProviderState.cs
- CodeGeneratorOptions.cs
- AlternateViewCollection.cs
- Dynamic.cs
- StyleHelper.cs
- WeakReferenceList.cs
- ControlPropertyNameConverter.cs
- DataPagerField.cs
- ActivityInterfaces.cs
- PointIndependentAnimationStorage.cs
- Latin1Encoding.cs
- BitStack.cs
- OSEnvironmentHelper.cs
- StyleHelper.cs
- NativeWrapper.cs
- XmlSchemaAttributeGroupRef.cs
- IndexOutOfRangeException.cs
- MappingMetadataHelper.cs
- DelayedRegex.cs
- CodeIterationStatement.cs
- AuthenticationSection.cs
- ObjectListSelectEventArgs.cs
- SafeFileMappingHandle.cs
- PolicyConversionContext.cs
- OracleLob.cs
- SqlCrossApplyToCrossJoin.cs
- PerspectiveCamera.cs
- XmlDeclaration.cs
- PeerPresenceInfo.cs
- SqlInternalConnectionSmi.cs
- figurelength.cs
- AutomationPropertyInfo.cs
- DesignerUtility.cs
- AnnotationStore.cs
- ExceptionUtility.cs
- CharStorage.cs
- BCryptSafeHandles.cs
- ToolboxBitmapAttribute.cs
- SmtpMail.cs
- EmulateRecognizeCompletedEventArgs.cs
- XmlSchemaChoice.cs
- _SslStream.cs
- DataServiceHostFactory.cs
- TrackingProfileManager.cs
- XslVisitor.cs
- ObfuscationAttribute.cs
- MaskedTextBoxTextEditor.cs
- CatalogPartCollection.cs
- XmlAttributes.cs
- DesignerDataRelationship.cs
- TransformGroup.cs
- DbModificationCommandTree.cs
- DataListItem.cs
- XmlDomTextWriter.cs
- XmlNotation.cs
- Border.cs
- ArgumentNullException.cs
- Literal.cs
- EmptyEnumerator.cs
- XmlSerializationWriter.cs
- SafeNativeMethods.cs
- BamlBinaryReader.cs
- IsolationInterop.cs
- ScriptRegistrationManager.cs
- DatatypeImplementation.cs
- Marshal.cs
- WeakReference.cs
- ButtonBase.cs
- AccessDataSourceView.cs
- XmlNamespaceMapping.cs
- ArithmeticException.cs
- ImageField.cs
- CustomTypeDescriptor.cs
- Attachment.cs
- SmtpSection.cs
- NetPeerTcpBindingCollectionElement.cs
- BuildResultCache.cs
- handlecollector.cs
- InstanceKeyNotReadyException.cs