System.ComponentModel Namespace (original) (raw)

Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

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.

Classes

AddingNewEventArgs Provides data for the AddingNew event.
AmbientValueAttribute Specifies 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.
ArrayConverter Provides a type converter to convert Array objects to and from various other representations.
AsyncCompletedEventArgs Provides data for the _MethodName_Completed event.
AsyncOperation Tracks the lifetime of an asynchronous operation.
AsyncOperationManager Provides concurrency management for classes that support asynchronous method calls. This class cannot be inherited.
AttributeCollection Represents a collection of attributes.
AttributeProviderAttribute Enables attribute redirection. This class cannot be inherited.
BackgroundWorker Executes an operation on a separate thread.
BaseNumberConverter Provides a base type converter for nonfloating-point numerical types.
BindableAttribute Specifies whether a member is typically used for binding. This class cannot be inherited.
BindingList Provides a generic collection that supports data binding.
BooleanConverter Provides a type converter to convert Boolean objects to and from various other representations.
BrowsableAttribute Specifies whether a property or event should be displayed in a Properties window.
ByteConverter Provides a type converter to convert 8-bit unsigned integer objects to and from various other representations.
CancelEventArgs Provides data for a cancelable event.
CategoryAttribute Specifies the name of the category in which to group the property or event when displayed in a PropertyGrid control set to Categorized mode.
CharConverter Provides a type converter to convert Unicode character objects to and from various other representations.
CollectionChangeEventArgs Provides data for the CollectionChanged event.
CollectionConverter Provides a type converter to convert collection objects to and from various other representations.
ComplexBindingPropertiesAttribute Specifies the data source and data member properties for a component that supports complex data binding. This class cannot be inherited.
Component Provides the base implementation for the IComponent interface and enables object sharing between applications.
ComponentCollection Provides a read-only container for a collection of IComponent objects.
ComponentConverter Provides a type converter to convert components to and from various other representations.
ComponentEditor Provides the base class for a custom component editor.
ComponentResourceManager Provides simple functionality for enumerating resources for a component or object. The ComponentResourceManager class is a ResourceManager.
Container Encapsulates zero or more components.
ContainerFilterService Provides a base class for the container filter service.
CultureInfoConverter Provides a type converter to convert CultureInfo objects to and from various other representations.
CurrentChangedEventManager Provides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the CurrentChanged event.
CurrentChangingEventArgs Provides information for the CurrentChanging event.
CurrentChangingEventManager Provides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the CurrentChanging event.
CustomTypeDescriptor Provides a simple default implementation of the ICustomTypeDescriptor interface.
DataErrorsChangedEventArgs Provides data for the ErrorsChanged event.
DataObjectAttribute Identifies a type as an object suitable for binding to an ObjectDataSource object. This class cannot be inherited.
DataObjectFieldAttribute Provides metadata for a property representing a data field. This class cannot be inherited.
DataObjectMethodAttribute Identifies 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.
DateOnlyConverter Provides a type converter to convert DateOnly objects to and from various other representations.
DateTimeConverter Provides a type converter to convert DateTime objects to and from various other representations.
DateTimeOffsetConverter Provides a type converter to convert DateTimeOffset structures to and from various other representations.
DecimalConverter Provides a type converter to convert Decimal objects to and from various other representations.
DefaultBindingPropertyAttribute Specifies the default binding property for a component. This class cannot be inherited.
DefaultEventAttribute Specifies the default event for a component.
DefaultPropertyAttribute Specifies the default property for a component.
DefaultValueAttribute Specifies the default value for a property.
DependencyPropertyDescriptor Provides an extension of PropertyDescriptor that accounts for the additional property characteristics of a dependency property.
DescriptionAttribute Specifies a description for a property or event.
DesignerAttribute Specifies the class used to implement design-time services for a component.
DesignerCategoryAttribute Specifies that the designer for a class belongs to a certain category.
DesignerProperties Provides attached properties used to communicate with a designer.
DesignerSerializationVisibilityAttribute Specifies the type of persistence to use when serializing a property on a component at design time.
DesignOnlyAttribute Specifies whether a property can only be set at design time.
DesignTimeVisibleAttribute DesignTimeVisibleAttribute marks a component's visibility. If Yes is present, a visual designer can show this component on a designer.
DisplayNameAttribute Specifies the display name for a property, event, or public void method which takes no arguments.
DoubleConverter Provides a type converter to convert double-precision, floating point number objects to and from various other representations.
DoWorkEventArgs Provides data for the DoWork event handler.
EditorAttribute Specifies the editor to use to change a property. This class cannot be inherited.
EditorBrowsableAttribute Specifies that a class or member is viewable in an editor. This class cannot be inherited.
EnumConverter Provides a type converter to convert Enum objects to and from various other representations.
ErrorsChangedEventManager Provides a WeakEventManager implementation so that you can use the weak event listener pattern to attach listeners for the ErrorsChanged event.
EventDescriptor Provides information about an event.
EventDescriptorCollection Represents a collection of EventDescriptor objects.
EventHandlerList Provides a simple list of delegates. This class cannot be inherited.
ExpandableObjectConverter Provides a type converter to convert expandable objects to and from various other representations.
ExtenderProvidedPropertyAttribute Specifies a property that is offered by an extender provider. This class cannot be inherited.
GroupDescription Provides an abstract base class for types that describe how to divide the items in a collection into groups.
GuidConverter Provides a type converter to convert Guid objects to and from various other representations.
HalfConverter Provides a type converter to convert half-precision, floating point number objects to and from various other representations.
HandledEventArgs Provides data for events that can be handled completely in an event handler.
ImmutableObjectAttribute Specifies that an object has no subproperties capable of being edited. This class cannot be inherited.
InheritanceAttribute Indicates whether the component associated with this attribute has been inherited from a base class. This class cannot be inherited.
InitializationEventAttribute Specifies which event is raised on initialization. This class cannot be inherited.
InstallerTypeAttribute Specifies the installer for a type that installs components.
InstanceCreationEditor Creates an instance of a particular type of property from a drop-down box within the PropertyGrid.
Int128Converter Provides a type converter to convert 128-bit signed integer objects to and from various other representations.
Int16Converter Provides a type converter to convert 16-bit signed integer objects to and from other representations.
Int32Converter Provides a type converter to convert 32-bit signed integer objects to and from other representations.
Int64Converter Provides a type converter to convert 64-bit signed integer objects to and from various other representations.
InvalidAsynchronousStateException Thrown when a thread on which an operation should execute no longer exists or has no message loop.
InvalidEnumArgumentException The exception that is thrown when an invalid enumeration value is used.
ItemPropertyInfo Contains information about a property.
License Provides the abstract base class for all licenses. A license is granted to a specific instance of a component.
LicenseContext Specifies when you can use a licensed object and provides a way of obtaining additional services needed to support licenses running within its domain.
LicenseException Represents the exception thrown when a component cannot be granted a license.
LicenseManager Provides properties and methods to add a license to a component and to manage a LicenseProvider. This class cannot be inherited.
LicenseProvider Provides the abstract base class for implementing a license provider.
LicenseProviderAttribute Specifies the LicenseProvider to use with a class. This class cannot be inherited.
LicFileLicenseProvider Provides an implementation of a LicenseProvider. The provider works in a similar fashion to the Microsoft .NET Framework standard licensing model.
ListBindableAttribute Specifies 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.
ListChangedEventArgs Provides data for the ListChanged event.
ListSortDescription Provides a description of the sort operation applied to a data source.
ListSortDescriptionCollection Represents a collection of ListSortDescription objects.
LocalizableAttribute Specifies whether a property or parameter should be localized. This class cannot be inherited.
LookupBindingPropertiesAttribute Specifies the properties that support lookup-based binding. This class cannot be inherited.
MarshalByValueComponent Implements IComponent and provides the base implementation for remotable components that are marshaled by value (a copy of the serialized object is passed).
MaskedTextProvider Represents a mask-parsing service that can be used by any number of controls that support masking, such as the MaskedTextBox control.
MemberDescriptor Represents a class member, such as a property or event. This is an abstract base class.
MergablePropertyAttribute Specifies that this property can be combined with properties belonging to other objects in a Properties window.
MultilineStringConverter Provides a type converter to convert multiline strings to a simple string.
NestedContainer Provides the base implementation for the INestedContainer interface, which enables containers to have an owning component.
NotifyParentPropertyAttribute Indicates 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.
NullableConverter Provides automatic conversion between a nullable type and its underlying primitive type.
ParenthesizePropertyNameAttribute Indicates whether the name of the associated property is displayed with parentheses in the Properties window. This class cannot be inherited.
PasswordPropertyTextAttribute Indicates that an object's text representation is obscured by characters such as asterisks. This class cannot be inherited.
ProgressChangedEventArgs Provides data for the ProgressChanged event.
PropertyChangedEventArgs Provides data for the PropertyChanged event.
PropertyChangedEventManager Provides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the PropertyChanged event.
PropertyChangingEventArgs Provides data for the PropertyChanging event.
PropertyDescriptor Provides an abstraction of a property on a class.
PropertyDescriptorCollection Represents a collection of PropertyDescriptor objects.
PropertyFilterAttribute Specifies which properties should be reported by type descriptors, specifically the GetProperties(Object) method.
PropertyTabAttribute Identifies the property tab or tabs to display for the specified class or classes.
ProvidePropertyAttribute Specifies the name of the property that an implementer of IExtenderProvider offers to other components. This class cannot be inherited.
ReadOnlyAttribute Specifies whether the property this attribute is bound to is read-only or read/write. This class cannot be inherited.
RecommendedAsConfigurableAttribute Specifies that the property can be used as an application setting.
ReferenceConverter Provides a type converter to convert object references to and from other representations.
RefreshEventArgs Provides data for the Refreshed event.
RefreshPropertiesAttribute Indicates that the property grid should refresh when the associated property value changes. This class cannot be inherited.
RunInstallerAttribute Specifies whether the Visual Studio Custom Action Installer or the Installutil.exe (Installer Tool) should be invoked when the assembly is installed.
RunWorkerCompletedEventArgs Provides data for the _MethodName_Completed event.
SByteConverter Provides a type converter to convert 8-bit unsigned integer objects to and from a string.
SettingsBindableAttribute Specifies when a component property can be bound to an application setting.
SingleConverter Provides a type converter to convert single-precision, floating point number objects to and from various other representations.
SortDescriptionCollection Represents a collection of SortDescription objects.
StringConverter Provides a type converter to convert string objects to and from other representations.
SyntaxCheck Provides methods to verify the machine name and path conform to a specific syntax. This class cannot be inherited.
TimeOnlyConverter Provides a type converter to convert TimeOnly objects to and from various other representations.
TimeSpanConverter Provides a type converter to convert TimeSpan objects to and from other representations.
ToolboxItemAttribute Represents an attribute of a toolbox item.
ToolboxItemFilterAttribute Specifies the filter string and filter type to use for a toolbox item.
TypeConverter Provides a unified way of converting types of values to other types, as well as for accessing standard values and subproperties.
TypeConverter.SimplePropertyDescriptor Represents an abstract class that provides properties for objects that do not have properties.
TypeConverter.StandardValuesCollection Represents a collection of values.
TypeConverterAttribute Specifies what type to use as a converter for the object this attribute is bound to.
TypeDescriptionProvider Provides supplemental metadata to the TypeDescriptor.
TypeDescriptionProviderAttribute Specifies the custom type description provider for a class. This class cannot be inherited.
TypeDescriptor Provides information about the characteristics for a component, such as its attributes, properties, and events. This class cannot be inherited.
TypeListConverter Provides a type converter that can be used to populate a list box with available types.
UInt128Converter Provides a type converter to convert 128-bit unsigned integer objects to and from various other representations.
UInt16Converter Provides a type converter to convert 16-bit unsigned integer objects to and from other representations.
UInt32Converter Provides a type converter to convert 32-bit unsigned integer objects to and from various other representations.
UInt64Converter Provides a type converter to convert 64-bit unsigned integer objects to and from other representations.
VersionConverter Provides a type converter to convert Version objects to and from various other representations.
WarningException Specifies an exception that is handled as a warning instead of an error.
Win32Exception Throws an exception for a Win32 error code.

Structs

SortDescription Defines the direction and the property name to be used as the criteria for sorting a collection.

Interfaces

IBindingList Provides the features required to support both complex and simple scenarios when binding to a data source.
IBindingListView Extends the IBindingList interface by providing advanced sorting and filtering capabilities.
ICancelAddNew Adds transactional capability when adding a new item to a collection.
IChangeTracking Defines the mechanism for querying the object for changes and resetting of the changed status.
ICollectionView Enables collections to have the functionalities of current record management, custom sorting, filtering, and grouping.
ICollectionViewFactory An interface that enables implementing collections to create a view to their data. Normally, user code does not call methods on this interface.
ICollectionViewLiveShaping Defines properties that enables sorting, grouping, and filtering on a CollectionView in real time.
IComNativeDescriptorHandler Provides a top-level mapping layer between a COM object and a TypeDescriptor.
IComponent Provides functionality required by all components.
IContainer Provides functionality for containers. Containers are objects that logically contain zero or more components.
ICustomTypeDescriptor Provides an interface that supplies dynamic custom type information for an object.
IDataErrorInfo Provides the functionality to offer custom error information that a user interface can bind to.
IEditableCollectionView Defines methods and properties that a CollectionView implements to provide editing capabilities to a collection.
IEditableCollectionViewAddNewItem Defines methods and properties that a CollectionView implements to enable specifying adding items of a specific type.
IEditableObject Provides functionality to commit or rollback changes to an object that is used as a data source.
IExtenderProvider Defines the interface for extending properties to other components in a container.
IIntellisenseBuilder Provides an interface to facilitate the retrieval of the builder's name and to display the builder.
IItemProperties Defines a property that provides information about an object's properties.
IListSource Provides functionality to an object to return a list that can be bound to a data source.
INestedContainer Provides functionality for nested containers, which logically contain zero or more other components and are owned by a parent component.
INestedSite Provides the ability to retrieve the full nested name of a component.
INotifyDataErrorInfo Defines members that data entity classes can implement to provide custom synchronous and asynchronous validation support.
INotifyPropertyChanged Notifies clients that a property value has changed.
INotifyPropertyChanging Notifies clients that a property value is changing.
IRaiseItemChangedEvents Indicates whether a class converts property change events to ListChanged events.
IRevertibleChangeTracking Provides support for rolling back the changes.
ISite Provides functionality required by sites.
ISupportInitialize Specifies that this object supports a simple, transacted notification for batch initialization.
ISupportInitializeNotification Allows coordination of initialization for a component and its dependent properties.
ISynchronizeInvoke Provides a way to synchronously or asynchronously execute a delegate.
ITypeDescriptorContext Provides contextual information about a component, such as its container and property descriptor.
ITypedList Provides 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.

Enums

BindableSupport Specifies values to indicate whether a property can be bound to a data element or another property.
BindingDirection Specifies whether the template can be bound one way or two ways.
CollectionChangeAction Specifies how the collection is changed.
DataObjectMethodType Identifies the type of data operation performed by a method, as specified by the DataObjectMethodAttribute applied to the method.
DesignerSerializationVisibility Specifies the visibility a property has to the design-time serializer.
EditorBrowsableState Specifies the browsable state of a property or method from within an editor.
InheritanceLevel Defines identifiers for types of inheritance levels.
LicenseUsageMode Specifies when the License can be used.
ListChangedType Specifies how the list changed.
ListSortDirection Specifies the direction of a sort operation.
MaskedTextResultHint Specifies values that succinctly describe the results of a masked text parsing operation.
NewItemPlaceholderPosition Specifies where the placeholder for a new item appears in the collection.
PropertyFilterOptions Specifies which properties should be reported by type descriptors, specifically the GetProperties(Object) method. This enumeration is used to specify the value of the Filter property.
PropertyTabScope Defines identifiers that indicate the persistence scope of a tab in the Properties window.
RefreshProperties Defines identifiers that indicate the type of a refresh of the Properties window.
ToolboxItemFilterType Defines identifiers used to indicate the type of filter that a ToolboxItemFilterAttribute uses.

Delegates

AddingNewEventHandler Represents the method that will handle the AddingNew event.
AsyncCompletedEventHandler Represents the method that will handle the _MethodName_Completed event of an asynchronous operation.
CancelEventHandler Represents the method that handles a cancelable event.
CollectionChangeEventHandler Represents the method that handles the CollectionChanged event raised when adding elements to or removing elements from a collection.
CurrentChangingEventHandler Represents the method that handles the CurrentChanging event.
DoWorkEventHandler Represents the method that will handle the DoWork event. This class cannot be inherited.
HandledEventHandler Represents a method that can handle events which may or may not require further processing after the event handler has returned.
ListChangedEventHandler Represents the method that will handle the ListChanged event of the IBindingList class.
ProgressChangedEventHandler Represents the method that will handle the ProgressChanged event of the BackgroundWorker class. This class cannot be inherited.
PropertyChangedEventHandler Represents the method that will handle the PropertyChanged event raised when a property is changed on a component.
PropertyChangingEventHandler Represents the method that will handle the PropertyChanging event of an INotifyPropertyChanging interface.
RefreshEventHandler Represents the method that handles the Refreshed event raised when a Type or component is changed during design time.
RunWorkerCompletedEventHandler Represents the method that will handle the RunWorkerCompleted event of a BackgroundWorker class.

Remarks

The classes in this namespace divide into the following categories:

Collaborate with us on GitHub

The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.

Feedback

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.

Submit and view feedback for

Additional resources

In this article