This documentation is archived and is not being maintained.

System.ComponentModel.Design Namespace

The System.ComponentModel.Design namespace contains classes that developers can use to build custom design-time behavior for components and user interfaces for configuring components at design time. The design time environment provides systems that enable developers to arrange components and configure their properties. Some components may require specific design-time only behavior to function properly in a design time environment. It may also be valuable to provide custom user interfaces which assist developers in configuring components or the values of complex data types. The classes and interfaces defined within this namespace can be used to build design-time behavior for components, access design-time services, and implement customized design-time configuration interfaces.

The classes in this namespace include:

Public classActiveDesignerEventArgsProvides data for the ActiveDesigner event.
Public classActiveDesignSurfaceChangedEventArgsProvides data for the ActiveDesignSurfaceChanged event.
Public classArrayEditorProvides a user interface for editing arrays at design time.
Public classBinaryEditorProvides a user interface for editing binary data.
Public classByteViewerDisplays byte arrays in hexadecimal, ANSI, and Unicode formats.
Public classCheckoutExceptionThe exception that is thrown when an attempt to check out a file that is checked into a source code management program is canceled or fails.
Public classCollectionEditorProvides a user interface that can edit most types of collections at design time.
Protected classCollectionEditor.CollectionFormProvides a modal dialog box for editing the contents of a collection using a UITypeEditor.
Public classCommandIDRepresents a unique command identifier that consists of a numeric command ID and a GUID menu group identifier.
Public classComponentChangedEventArgsProvides data for the ComponentChanged event. This class cannot be inherited.
Public classComponentChangingEventArgsProvides data for the ComponentChanging event. This class cannot be inherited.
Public classComponentDesignerExtends the design mode behavior of a component.
Protected classComponentDesigner.ShadowPropertyCollectionRepresents a collection of shadow properties that should override inherited default or assigned values for specific properties. This class cannot be inherited.
Public classComponentEventArgsProvides data for the ComponentAdded, ComponentAdding, ComponentRemoved, and ComponentRemoving events.
Public classComponentRenameEventArgsProvides data for the ComponentRename event.
Public classDateTimeEditorThis date time editor is a UITypeEditor suitable for visually editing DateTime objects.
Public classDesignerActionHeaderItemRepresents a static header item on a smart tag panel. This class cannot be inherited.
Public classDesignerActionItemProvides the base class for types that represent a panel item on a smart tag panel.
Public classDesignerActionItemCollectionRepresents a collection of DesignerActionItem objects.
Public classDesignerActionListProvides the base class for types that define a list of items used to create a smart tag panel.
Public classDesignerActionListCollectionRepresents a collection of DesignerActionList objects.
Public classDesignerActionListsChangedEventArgsProvides data for the DesignerActionListsChanged event.
Public classDesignerActionMethodItemRepresents a smart tag panel item that is associated with a method in a class derived from DesignerActionList.
Public classDesignerActionPropertyItemRepresents a panel item that is associated with a property in a class derived from DesignerActionList. This class cannot be inherited.
Public classDesignerActionServiceEstablishes a design-time service that manages the collection of DesignerActionItem objects for components.
Public classDesignerActionTextItemRepresents a static text item on a smart tag panel.
Public classDesignerActionUIServiceManages the user interface (UI) for a smart tag panel. This class cannot be inherited.
Public classDesignerActionUIStateChangeEventArgsProvides data for the DesignerActionUIStateChange event.
Public classDesignerCollectionRepresents a collection of designers.
Public classDesignerCommandSetRepresents a base class for design-time tools, not derived from ComponentDesigner, that provide smart tag or designer verb capabilities.
Public classDesignerEventArgsProvides data for the DesignerCreated and DesignerDisposed events.
Public classDesignerOptionServiceProvides a base class for getting and setting option values for a designer.
Public classDesignerOptionService.DesignerOptionCollectionContains a collection of designer options. This class cannot be inherited.
Public classDesignerTransactionProvides a way to group a series of design-time actions to improve performance and enable most types of changes to be undone.
Public classDesignerTransactionCloseEventArgsProvides data for the TransactionClosed and TransactionClosing events.
Public classDesignerVerbRepresents a verb that can be invoked from a designer.
Public classDesignerVerbCollectionRepresents a collection of DesignerVerb objects.
Public classDesignSurfacePresents a user interface for designing components.
Public classDesignSurfaceCollectionContains a collection of design surfaces. This class cannot be inherited.
Public classDesignSurfaceEventArgsProvides data for the DesignSurfaceCreated event.
Public classDesignSurfaceManagerManages a collection of DesignSurface objects.
Public classDesigntimeLicenseContextRepresents a design-time license context that can support a license provider at design time.
Public classDesigntimeLicenseContextSerializerProvides support for design-time license context serialization.
Public classEventBindingServiceA default implementation of the IEventBindingService interface.
Public classExceptionCollectionRepresents the collection of exceptions.
Public classHelpKeywordAttributeSpecifies the context keyword for a class or member. This class cannot be inherited.
Public classInheritanceServiceProvides a set of methods for identifying inherited components.
Public classLoadedEventArgsProvides data for the Loaded event. This class cannot be inherited.
Public classLocalizationExtenderProvider Obsolete. Provides design-time support for localization features to a root designer.
Public classMenuCommandRepresents a Windows menu or toolbar command item.
Public classMenuCommandsChangedEventArgsProvides data for the MenuCommandsChanged event.
Public classMenuCommandServiceImplements the IMenuCommandService interface.
Public classMultilineStringEditorDisplays a dialog for editing multi-line strings in design mode.
Public classObjectSelectorEditorImplements the basic functionality that can be used to design value editors. These editors can, in turn, provide a user interface for representing and editing the values of objects of the supported data types.
Public classObjectSelectorEditor.SelectorDisplays a hierarchical collection of labeled items, each represented by a TreeNode.
Public classObjectSelectorEditor.SelectorNodeRepresents a node of a TreeView.
Public classProjectTargetFrameworkAttributeSpecifies the target framework for a project.
Public classServiceContainerProvides a simple implementation of the IServiceContainer interface. This class cannot be inherited.
Public classStandardCommandsDefines identifiers for the standard set of commands that are available to most applications.
Public classStandardToolWindowsDefines GUID identifiers that correspond to the standard set of tool windows that are available in the design environment.
Public classTypeDescriptionProviderServiceProvides a type description provider for a specified type.
Public classUndoEngineSpecifies generic undo/redo functionality at design time.
Protected classUndoEngine.UndoUnitEncapsulates a unit of work that a user can undo.

Public interfaceIComponentChangeServiceProvides an interface to add and remove the event handlers for events that add, change, remove or rename components, and provides methods to raise a ComponentChanged or ComponentChanging event.
Public interfaceIComponentDesignerDebugServiceProvides debugging services in a design-time environment.
Public interfaceIComponentDesignerStateServiceAllows a designer to store and retrieve its state.
Public interfaceIComponentDiscoveryServiceEnables enumeration of components at design time.
Public interfaceIComponentInitializerProvides a set of recommended default values during component creation.
Public interfaceIDesignerProvides the basic framework for building a custom designer.
Public interfaceIDesignerEventServiceProvides event notifications when root designers are added and removed, when a selected component changes, and when the current root designer changes.
Public interfaceIDesignerFilterProvides an interface that enables a designer to access and filter the dictionaries of a TypeDescriptor that stores the property, attribute, and event descriptors that a component designer can expose to the design-time environment.
Public interfaceIDesignerHostProvides an interface for managing designer transactions and components.
Public interfaceIDesignerHostTransactionStateSpecifies methods for the designer host to report on the state of transactions.
Public interfaceIDesignerOptionServiceProvides access to the designer options located on the Tools menu under the Options command in the Visual Studio development environment.
Public interfaceIDesignTimeAssemblyLoaderUtility for loading assemblies in a designer.
Public interfaceIDictionaryServiceProvides a basic, component site-specific, key-value pair dictionary through a service that a designer can use to store user-defined data.
Public interfaceIEventBindingServiceProvides a service for registering event handlers for component events.
Public interfaceIExtenderListServiceProvides an interface that can list extender providers.
Public interfaceIExtenderProviderServiceProvides an interface for adding and removing extender providers at design time.
Public interfaceIHelpServiceProvides methods for showing Help topics and adding and removing Help keywords at design time.
Public interfaceIInheritanceServiceProvides methods for identifying the components of a component.
Public interfaceIMenuCommandServiceProvides methods to manage the global designer verbs and menu commands available in design mode, and to show some types of shortcut menus.
Public interfaceIMultitargetHelperServiceDefines multi-target type name resolution services in a design-time environment.
Public interfaceIReferenceServiceProvides an interface for obtaining references to objects within a project by name or type, obtaining the name of a specified object, and for locating the parent of a specified object within a designer project.
Public interfaceIResourceServiceProvides an interface for designers to access resource readers and writers for specific CultureInfo resource types.
Public interfaceIRootDesignerProvides support for root-level designer view technologies.
Public interfaceISelectionServiceProvides an interface for a designer to select components.
Public interfaceIServiceContainerProvides a container for services.
Public interfaceITreeDesignerProvides support for building a set of related custom designers.
Public interfaceITypeDescriptorFilterServiceProvides an interface to modify the set of member descriptors for a component in design mode.
Public interfaceITypeDiscoveryServiceDiscovers available types at design time.
Public interfaceITypeResolutionServiceProvides an interface to retrieve an assembly or type by name.

Public delegateActiveDesignerEventHandlerRepresents the method that will handle the ActiveDesignerChanged event.
Public delegateActiveDesignSurfaceChangedEventHandlerRepresents the method that will handle the ActiveDesignSurfaceChanged event of a DesignSurfaceManager. This class cannot be inherited.
Public delegateComponentChangedEventHandlerRepresents the method that will handle a ComponentChanged event.
Public delegateComponentChangingEventHandlerRepresents the method that will handle a ComponentChanging event.
Public delegateComponentEventHandlerRepresents the method that will handle the ComponentAdding, ComponentAdded, ComponentRemoving, and ComponentRemoved events raised for component-level events.
Public delegateComponentRenameEventHandlerRepresents the method that will handle a ComponentRename event.
Public delegateDesignerActionListsChangedEventHandlerRepresents the method that will handle the DesignerActionListsChanged event of a DesignerActionService. This class cannot be inherited.
Public delegateDesignerActionUIStateChangeEventHandlerRepresents the method that will handle the DesignerActionUIStateChange event of a DesignerActionUIService.
Public delegateDesignerEventHandlerRepresents the method that will handle the DesignerCreated and DesignerDisposed events that are raised when a document is created or disposed of.
Public delegateDesignerTransactionCloseEventHandlerRepresents the method that handles the TransactionClosed and TransactionClosing events of a designer.
Public delegateDesignSurfaceEventHandlerRepresents the method that will handle the DesignSurfaceCreated event of a DesignSurfaceManager class. This class cannot be inherited.
Public delegateLoadedEventHandlerRepresents the method that will handle the Loaded event of the DesignSurface class. This class cannot be inherited.
Public delegateMenuCommandsChangedEventHandlerRepresents the method that will handle the MenuCommandsChanged event of a MenuCommandService. This class cannot be inherited.
Public delegateServiceCreatorCallbackProvides a callback mechanism that can create an instance of a service on demand.

Public enumerationComponentActionsTypeSpecifies the type of object-bound smart tag with respect to how it was associated with the component.
Public enumerationDesignerActionListsChangedTypeSpecifies the type of change occurring in a collection of DesignerActionList objects.
Public enumerationDesignerActionUIStateChangeTypeSpecifies the display state of a smart tag panel.
Public enumerationDisplayModeDefines identifiers that indicate the display modes used by ByteViewer.
Public enumerationHelpContextTypeDefines identifiers that indicate information about the context in which a request for Help information originated.
Public enumerationHelpKeywordTypeDefines identifiers that indicate the type of a Help keyword.
Public enumerationMenuCommandsChangedTypeSpecifies the type of action that occurred to the related object's MenuCommands collection.
Public enumerationSelectionTypesDefines identifiers that indicate the type of a selection.
Public enumerationViewTechnologyDefines identifiers for a set of technologies that designer hosts support.