ToolboxItem.CreateComponentsCore Method (IDesignerHost, IDictionary)

 

Creates an array of components when the toolbox item is invoked.

Namespace:   System.Drawing.Design
Assembly:  System.Drawing (in System.Drawing.dll)

protected virtual IComponent[] CreateComponentsCore(
	IDesignerHost host,
	IDictionary defaultValues
)

Parameters

host
Type: System.ComponentModel.Design.IDesignerHost

The designer host to use when creating components.

defaultValues
Type: System.Collections.IDictionary

A dictionary of property name/value pairs of default values with which to initialize the component.

Return Value

Type: System.ComponentModel.IComponent[]

An array of created IComponent objects.

If host is not null, the CreateComponentsCore method adds the new components to the designer.

The following code example demonstrates the use of the CreateComponentsCore method in a class derived from ToolboxItem for a custom toolbox item implementation. This code example is part of a larger example provided for the ToolboxItem class.

protected override IComponent[] CreateComponentsCore(
    System.ComponentModel.Design.IDesignerHost host, 
    System.Collections.IDictionary defaultValues)
{
    // Get the string we want to fill in the custom
    // user control.  If the user cancels out of the dialog,
    // return null or an empty array to signify that the 
    // tool creation was canceled.
    using (ToolboxItemDialog d = new ToolboxItemDialog())
    {
        if (d.ShowDialog() == DialogResult.OK)
        {
            string text = d.CreationText;

            IComponent[] comps =
                base.CreateComponentsCore(host, defaultValues);
            // comps will have a single component: our data type.
            ((UserControl1)comps[0]).LabelText = text;
            return comps;
        }
        else
        {
            return null;
        }
    }
}

.NET Framework
Available since 2.0
Return to top
Show: