Skip to main content
.NET Framework Class Library
System.ComponentModel Namespace

The System.ComponentModel namespace provides classes that are used to implement the run-time and design-time behavior of components and controls. This namespace includes the base classes and interfaces for implementing attributes and type converters, binding to data sources, and licensing components.

The classes in this namespace divide into the following categories:

Classes
  ClassDescription
Public class AddingNewEventArgsProvides data for the BindingSourceAddingNew event.
Public class AmbientValueAttributeSpecifies the value to pass to a property to cause the property to get its value from another source. This is known as ambience. This class cannot be inherited.
Public class ArrayConverterProvides a type converter to convert Array objects to and from various other representations.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps AsyncCompletedEventArgsProvides data for the MethodNameCompleted event.
Public class AsyncOperationTracks the lifetime of an asynchronous operation.
Public class AsyncOperationManagerProvides concurrency management for classes that support asynchronous method calls. This class cannot be inherited.
Public class AttributeCollectionRepresents a collection of attributes.
Public class AttributeProviderAttributeEnables attribute redirection. This class cannot be inherited.
Public class BackgroundWorkerExecutes an operation on a separate thread.
Public class BaseNumberConverterProvides a base type converter for nonfloating-point numerical types.
Public class BindableAttributeSpecifies whether a member is typically used for binding. This class cannot be inherited.
Public class BindingListTProvides a generic collection that supports data binding.
Public class BooleanConverterProvides a type converter to convert Boolean objects to and from various other representations.
Public class BrowsableAttributeSpecifies whether a property or event should be displayed in a Properties window.
Public class ByteConverterProvides a type converter to convert 8-bit unsigned integer objects to and from various other representations.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps CancelEventArgsProvides data for a cancelable event.
Public class CategoryAttributeSpecifies the name of the category in which to group the property or event when displayed in a PropertyGrid control set to Categorized mode.
Public class CharConverterProvides a type converter to convert Unicode character objects to and from various other representations.
Public class CollectionChangeEventArgsProvides data for the CollectionChanged event.
Public class CollectionConverterProvides a type converter to convert collection objects to and from various other representations.
Public class ComplexBindingPropertiesAttributeSpecifies the data source and data member properties for a component that supports complex data binding. This class cannot be inherited.
Public class ComponentProvides the base implementation for the IComponent interface and enables object sharing between applications.
Public class ComponentCollectionProvides a read-only container for a collection of IComponent objects.
Public class ComponentConverterProvides a type converter to convert components to and from various other representations.
Public class ComponentEditorProvides the base class for a custom component editor.
Public class ComponentResourceManagerProvides simple functionality for enumerating resources for a component or object. The ComponentResourceManager class is a ResourceManager.
Public class ContainerEncapsulates zero or more components.
Public class ContainerFilterServiceProvides a base class for the container filter service.
Public class CultureInfoConverterProvides a type converter to convert CultureInfo objects to and from various other representations.
Public class CurrentChangedEventManagerProvides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the CurrentChanged event.
Public class CurrentChangingEventArgsProvides information for the CurrentChanging event.
Public class CurrentChangingEventManagerProvides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the CurrentChanging event.
Public class CustomTypeDescriptorProvides a simple default implementation of the ICustomTypeDescriptor interface.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DataErrorsChangedEventArgsProvides data for the INotifyDataErrorInfoErrorsChanged event.
Public class DataObjectAttributeIdentifies a type as an object suitable for binding to an ObjectDataSource object. This class cannot be inherited.
Public class DataObjectFieldAttributeProvides metadata for a property representing a data field. This class cannot be inherited.
Public class DataObjectMethodAttributeIdentifies a data operation method exposed by a type, what type of operation the method performs, and whether the method is the default data method. This class cannot be inherited.
Public class DateTimeConverterProvides a type converter to convert DateTime objects to and from various other representations.
Public class DateTimeOffsetConverterProvides a type converter to convert DateTimeOffset structures to and from various other representations.
Public class DecimalConverterProvides a type converter to convert Decimal objects to and from various other representations.
Public class DefaultBindingPropertyAttributeSpecifies the default binding property for a component. This class cannot be inherited.
Public class DefaultEventAttributeSpecifies the default event for a component.
Public class DefaultPropertyAttributeSpecifies the default property for a component.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps DefaultValueAttributeSpecifies the default value for a property.
Public class DependencyPropertyDescriptorProvides an extension of PropertyDescriptor that accounts for the additional property characteristics of a dependency property.
Public class DescriptionAttributeSpecifies a description for a property or event.
Public class DesignerAttributeSpecifies the class used to implement design-time services for a component.
Public class DesignerCategoryAttributeSpecifies that the designer for a class belongs to a certain category.
Public class DesignerPropertiesProvides attached properties used to communicate with a designer.
Public class DesignerSerializationVisibilityAttributeSpecifies the type of persistence to use when serializing a property on a component at design time.
Public class DesignOnlyAttributeSpecifies whether a property can only be set at design time.
Public class DesignTimeVisibleAttribute DesignTimeVisibleAttribute marks a component's visibility. If Yes is present, a visual designer can show this component on a designer.
Public class DisplayNameAttributeSpecifies the display name for a property, event, or public void method which takes no arguments.
Public class DoubleConverterProvides a type converter to convert double-precision, floating point number objects to and from various other representations.
Public class DoWorkEventArgsProvides data for the DoWork event handler.
Public class EditorAttributeSpecifies the editor to use to change a property. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps EditorBrowsableAttributeSpecifies that a property or method is viewable in an editor. This class cannot be inherited.
Public class EnumConverterProvides a type converter to convert Enum objects to and from various other representations.
Public class ErrorsChangedEventManagerProvides a WeakEventManager implementation so that you can use the weak event listener pattern to attach listeners for the ErrorsChanged event.
Public class EventDescriptorProvides information about an event.
Public class EventDescriptorCollectionRepresents a collection of EventDescriptor objects.
Public class EventHandlerListProvides a simple list of delegates. This class cannot be inherited.
Public class ExpandableObjectConverterProvides a type converter to convert expandable objects to and from various other representations.
Public class ExtenderProvidedPropertyAttributeSpecifies a property that is offered by an extender provider. This class cannot be inherited.
Public class GroupDescriptionProvides an abstract base class for types that describe how to divide the items in a collection into groups.
Public class GuidConverterProvides a type converter to convert Guid objects to and from various other representations.
Public class HandledEventArgsProvides data for events that can be handled completely in an event handler.
Public class ImmutableObjectAttributeSpecifies that an object has no subproperties capable of being edited. This class cannot be inherited.
Public class InheritanceAttributeIndicates whether the component associated with this attribute has been inherited from a base class. This class cannot be inherited.
Public class InitializationEventAttributeSpecifies which event is raised on initialization. This class cannot be inherited.
Public class InstallerTypeAttributeSpecifies the installer for a type that installs components.
Public class InstanceCreationEditorCreates an instance of a particular type of property from a drop-down box within the PropertyGrid.
Public class Int16ConverterProvides a type converter to convert 16-bit signed integer objects to and from other representations.
Public class Int32ConverterProvides a type converter to convert 32-bit signed integer objects to and from other representations.
Public class Int64ConverterProvides a type converter to convert 64-bit signed integer objects to and from various other representations.
Public class InvalidAsynchronousStateExceptionThrown when a thread on which an operation should execute no longer exists or has no message loop.
Public class InvalidEnumArgumentExceptionThe exception thrown when using invalid arguments that are enumerators.
Public class ItemPropertyInfoContains information about a property.
Public class LicenseProvides the abstract base class for all licenses. A license is granted to a specific instance of a component.
Public class LicenseContextSpecifies when you can use a licensed object and provides a way of obtaining additional services needed to support licenses running within its domain.
Public class LicenseExceptionRepresents the exception thrown when a component cannot be granted a license.
Public class LicenseManagerProvides properties and methods to add a license to a component and to manage a LicenseProvider. This class cannot be inherited.
Public class LicenseProviderProvides the abstract base class for implementing a license provider.
Public class LicenseProviderAttributeSpecifies the LicenseProvider to use with a class. This class cannot be inherited.
Public class LicFileLicenseProviderProvides an implementation of a LicenseProvider. The provider works in a similar fashion to the Microsoft .NET Framework standard licensing model.
Public class ListBindableAttributeSpecifies that a list can be used as a data source. A visual designer should use this attribute to determine whether to display a particular list in a data-binding picker. This class cannot be inherited.
Public class ListChangedEventArgsProvides data for the ListChanged event.
Public class ListSortDescriptionProvides a description of the sort operation applied to a data source.
Public class ListSortDescriptionCollectionRepresents a collection of ListSortDescription objects.
Public class LocalizableAttributeSpecifies whether a property should be localized. This class cannot be inherited.
Public class LookupBindingPropertiesAttributeSpecifies the properties that support lookup-based binding. This class cannot be inherited.
Public class MarshalByValueComponentImplements IComponent and provides the base implementation for remotable components that are marshaled by value (a copy of the serialized object is passed).
Public class MaskedTextProviderRepresents a mask-parsing service that can be used by any number of controls that support masking, such as the MaskedTextBox control.
Public class MemberDescriptorRepresents a class member, such as a property or event. This is an abstract base class.
Public class MergablePropertyAttributeSpecifies that this property can be combined with properties belonging to other objects in a Properties window.
Public class MultilineStringConverterProvides a type converter to convert multiline strings to a simple string.
Public class NestedContainerProvides the base implementation for the INestedContainer interface, which enables containers to have an owning component.
Public class NotifyParentPropertyAttributeIndicates that the parent property is notified when the value of the property that this attribute is applied to is modified. This class cannot be inherited.
Public class NullableConverterProvides automatic conversion between a nullable type and its underlying primitive type.
Public class ParenthesizePropertyNameAttributeIndicates whether the name of the associated property is displayed with parentheses in the Properties window. This class cannot be inherited.
Public class PasswordPropertyTextAttributeIndicates that an object's text representation is obscured by characters such as asterisks. This class cannot be inherited.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps ProgressChangedEventArgsProvides data for the ProgressChanged event.
Public class Supported by Portable Class Library Supported in .NET for Windows Store apps PropertyChangedEventArgsProvides data for the PropertyChanged event.
Public class PropertyChangedEventManagerProvides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the PropertyChanged event.
Public class PropertyChangingEventArgsProvides data for the PropertyChanging event.
Public class PropertyDescriptorProvides an abstraction of a property on a class.
Public class PropertyDescriptorCollectionRepresents a collection of PropertyDescriptor objects.
Public class PropertyFilterAttributeSpecifies which properties should be reported by type descriptors, specifically the GetProperties method.
Public class PropertyTabAttributeIdentifies the property tab or tabs to display for the specified class or classes.
Public class ProvidePropertyAttributeSpecifies the name of the property that an implementer of IExtenderProvider offers to other components. This class cannot be inherited
Public class ReadOnlyAttributeSpecifies whether the property this attribute is bound to is read-only or read/write. This class cannot be inherited
Public class RecommendedAsConfigurableAttributeObsolete. Specifies that the property can be used as an application setting.
Public class ReferenceConverterProvides a type converter to convert object references to and from other representations.
Public class RefreshEventArgsProvides data for the Refreshed event.
Public class RefreshPropertiesAttributeIndicates that the property grid should refresh when the associated property value changes. This class cannot be inherited.
Public class RunInstallerAttributeSpecifies whether the Visual Studio Custom Action Installer or the Installutil.exe (Installer Tool) should be invoked when the assembly is installed.
Public class RunWorkerCompletedEventArgsProvides data for the MethodNameCompleted event.
Public class SByteConverterProvides a type converter to convert 8-bit unsigned integer objects to and from a string.
Public class SettingsBindableAttributeSpecifies when a component property can be bound to an application setting.
Public class SingleConverterProvides a type converter to convert single-precision, floating point number objects to and from various other representations.
Public class SortDescriptionCollectionRepresents a collection of SortDescription objects.
Public class StringConverterProvides a type converter to convert string objects to and from other representations.
Public class SyntaxCheckInfrastructure. Provides methods to verify the machine name and path conform to a specific syntax. This class cannot be inherited.
Public class TimeSpanConverterProvides a type converter to convert TimeSpan objects to and from other representations.
Public class ToolboxItemAttributeRepresents an attribute of a toolbox item.
Public class ToolboxItemFilterAttributeSpecifies the filter string and filter type to use for a toolbox item.
Public class TypeConverterProvides a unified way of converting types of values to other types, as well as for accessing standard values and subproperties.
Protected class TypeConverterSimplePropertyDescriptorRepresents an abstract class that provides properties for objects that do not have properties.
Public class TypeConverterStandardValuesCollectionRepresents a collection of values.
Public class TypeConverterAttributeSpecifies what type to use as a converter for the object this attribute is bound to.
Public class TypeDescriptionProviderProvides supplemental metadata to the TypeDescriptor.
Public class TypeDescriptionProviderAttributeSpecifies the custom type description provider for a class. This class cannot be inherited.
Public class TypeDescriptorProvides information about the characteristics for a component, such as its attributes, properties, and events. This class cannot be inherited.
Public class TypeListConverterProvides a type converter that can be used to populate a list box with available types.
Public class UInt16ConverterProvides a type converter to convert 16-bit unsigned integer objects to and from other representations.
Public class UInt32ConverterProvides a type converter to convert 32-bit unsigned integer objects to and from various other representations.
Public class UInt64ConverterProvides a type converter to convert 64-bit unsigned integer objects to and from other representations.
Public class WarningExceptionSpecifies an exception that is handled as a warning instead of an error.
Public class Win32ExceptionThrows an exception for a Win32 error code.
Structures
  StructureDescription
Public structure SortDescriptionDefines the direction and the property name to be used as the criteria for sorting a collection.
Interfaces
  InterfaceDescription
Public interface IBindingListProvides the features required to support both complex and simple scenarios when binding to a data source.
Public interface IBindingListViewExtends the IBindingList interface by providing advanced sorting and filtering capabilities.
Public interface ICancelAddNewAdds transactional capability when adding a new item to a collection.
Public interface Supported by Portable Class Library Supported in .NET for Windows Store apps IChangeTrackingDefines the mechanism for querying the object for changes and resetting of the changed status.
Public interface ICollectionViewEnables collections to have the functionalities of current record management, custom sorting, filtering, and grouping.
Public interface ICollectionViewFactoryAn interface that enables implementing collections to create a view to their data. Normally, user code does not call methods on this interface.
Public interface ICollectionViewLiveShapingDefines properties that enables sorting, grouping, and filtering on a CollectionView in real time.
Public interface IComNativeDescriptorHandlerObsolete. Provides a top-level mapping layer between a COM object and a TypeDescriptor.
Public interface IComponentProvides functionality required by all components.
Public interface IContainerProvides functionality for containers. Containers are objects that logically contain zero or more components.
Public interface ICustomTypeDescriptorProvides an interface that supplies dynamic custom type information for an object.
Public interface IDataErrorInfoProvides the functionality to offer custom error information that a user interface can bind to.
Public interface IEditableCollectionViewDefines methods and properties that a CollectionView implements to provide editing capabilities to a collection.
Public interface IEditableCollectionViewAddNewItemDefines methods and properties that a CollectionView implements to enable specifying adding items of a specific type.
Public interface Supported by Portable Class Library Supported in .NET for Windows Store apps IEditableObjectProvides functionality to commit or rollback changes to an object that is used as a data source.
Public interface IExtenderProviderDefines the interface for extending properties to other components in a container.
Public interface IIntellisenseBuilderProvides an interface to facilitate the retrieval of the builder's name and to display the builder.
Public interface IItemPropertiesDefines a property that provides information about an object's properties.
Public interface IListSourceProvides functionality to an object to return a list that can be bound to a data source.
Public interface INestedContainerProvides functionality for nested containers, which logically contain zero or more other components and are owned by a parent component.
Public interface INestedSiteProvides the ability to retrieve the full nested name of a component.
Public interface Supported by Portable Class Library Supported in .NET for Windows Store apps INotifyDataErrorInfoDefines members that data entity classes can implement to provide custom synchronous and asynchronous validation support.
Public interface Supported by Portable Class Library Supported in .NET for Windows Store apps INotifyPropertyChangedNotifies clients that a property value has changed.
Public interface INotifyPropertyChangingNotifies clients that a property value is changing.
Public interface IRaiseItemChangedEventsIndicates whether a class converts property change events to ListChanged events.
Public interface Supported by Portable Class Library Supported in .NET for Windows Store apps IRevertibleChangeTrackingProvides support for rolling back the changes
Public interface ISiteProvides functionality required by sites.
Public interface ISupportInitializeSpecifies that this object supports a simple, transacted notification for batch initialization.
Public interface ISupportInitializeNotificationAllows coordination of initialization for a component and its dependent properties.
Public interface ISynchronizeInvokeProvides a way to synchronously or asynchronously execute a delegate.
Public interface ITypeDescriptorContextProvides contextual information about a component, such as its container and property descriptor.
Public interface ITypedListProvides functionality to discover the schema for a bindable list, where the properties available for binding differ from the public properties of the object to bind to.
Delegates
  DelegateDescription
Public delegate AddingNewEventHandlerRepresents the method that will handle the BindingSourceAddingNew event.
Public delegate Supported by Portable Class Library Supported in .NET for Windows Store apps AsyncCompletedEventHandlerRepresents the method that will handle the MethodNameCompleted event of an asynchronous operation.
Public delegate CancelEventHandlerRepresents the method that handles a cancelable event.
Public delegate CollectionChangeEventHandlerRepresents the method that handles the CollectionChanged event raised when adding elements to or removing elements from a collection.
Public delegate CurrentChangingEventHandlerRepresents the method that handles the CurrentChanging event.
Public delegate DoWorkEventHandlerRepresents the method that will handle the DoWork event. This class cannot be inherited.
Public delegate HandledEventHandlerRepresents a method that can handle events which may or may not require further processing after the event handler has returned.
Public delegate ListChangedEventHandlerRepresents the method that will handle the ListChanged event of the IBindingList class.
Public delegate Supported by Portable Class Library Supported in .NET for Windows Store apps ProgressChangedEventHandlerRepresents the method that will handle the ProgressChanged event of the BackgroundWorker class. This class cannot be inherited.
Public delegate Supported by Portable Class Library Supported in .NET for Windows Store apps PropertyChangedEventHandlerRepresents the method that will handle the PropertyChanged event raised when a property is changed on a component.
Public delegate PropertyChangingEventHandlerRepresents the method that will handle the PropertyChanging event of an INotifyPropertyChanging interface.
Public delegate RefreshEventHandlerRepresents the method that handles the Refreshed event raised when a Type or component is changed during design time.
Public delegate RunWorkerCompletedEventHandlerRepresents the method that will handle the RunWorkerCompleted event of a BackgroundWorker class.
Enumerations
  EnumerationDescription
Public enumeration BindableSupportSpecifies values to indicate whether a property can be bound to a data element or another property.
Public enumeration BindingDirectionSpecifies whether the template can be bound one way or two ways.
Public enumeration CollectionChangeActionSpecifies how the collection is changed.
Public enumeration DataObjectMethodTypeIdentifies the type of data operation performed by a method, as specified by the DataObjectMethodAttribute applied to the method.
Public enumeration DesignerSerializationVisibilitySpecifies the visibility a property has to the design-time serializer.
Public enumeration Supported by Portable Class Library Supported in .NET for Windows Store apps EditorBrowsableStateSpecifies the browsable state of a property or method from within an editor.
Public enumeration InheritanceLevelDefines identifiers for types of inheritance levels.
Public enumeration LicenseUsageModeSpecifies when the License can be used.
Public enumeration ListChangedTypeSpecifies how the list changed.
Public enumeration ListSortDirectionSpecifies the direction of a sort operation.
Public enumeration MaskedTextResultHintSpecifies values that succinctly describe the results of a masked text parsing operation.
Public enumeration NewItemPlaceholderPositionSpecifies where the placeholder for a new item appears in the collection.
Public enumeration PropertyFilterOptionsSpecifies which properties should be reported by type descriptors, specifically the GetProperties method. This enumeration is used to specify the value of the PropertyFilterAttributeFilter property.
Public enumeration PropertyTabScopeDefines identifiers that indicate the persistence scope of a tab in the Properties window.
Public enumeration RefreshPropertiesDefines identifiers that indicate the type of a refresh of the Properties window.
Public enumeration ToolboxItemFilterTypeDefines identifiers used to indicate the type of filter that a ToolboxItemFilterAttribute uses.