See Also: IComponentInitializer Members
The System.ComponentModel.Design.IComponentInitializer interface can be implemented by any designer, which is a component that also implements System.ComponentModel.Design.IDesigner, which receives a recommended set of default values for the component it is designing. System.ComponentModel.Design.IComponentInitializer is queried during new component creation. Recommended default values for the component's properties are passed in as name/value pairs in a dictionary.
This design provides two customization points: the toolbox item itself can be replaced or changed to perform custom actions, or the designer for a component can be changed to provide a custom action. A designer that implements System.ComponentModel.Design.IComponentInitializer should not depend on either of its methods—IComponentInitializer.InitializeNewComponent(IDictionary) or IComponentInitializer.InitializeExistingComponent(IDictionary)—being called, because toolbox items are not obligated to call these methods.
For an overview of creating design components, see Extending Design-Time Support.