演练:使用自定义组件自动填充工具箱
如果组件由当前打开的解决方案中的项目定义,它们则将自动显示在“工具箱”中,你无需执行任何操作。 还可以使用“选择工具箱项”对话框 (Visual Studio) 通过自定义组件手动填充工具箱,但“工具箱”会考虑解决方案的生成输出中具有以下所有特征的项:
实现 IComponent;
ToolboxItemAttribute 未设置为
false
;DesignTimeVisibleAttribute 未设置为
false
。
注意
“工具箱”不遵循引用链,因此它不会显示解决方案中项目未生成的项。
本演练演示在生成自定义组件后如何使组件自动显示在“工具箱”中。 本演练涉及以下任务:
创建 Windows 窗体项目。
创建自定义组件。
创建自定义组件实例。
卸载和重新加载自定义组件。
完成后,你将看到“工具箱”中填充了所创建的组件。
创建项目
在 Visual Studio 中,创建一个名为
ToolboxExample
的基于 Windows 的应用程序项目(“文件”>“新建”>“项目”>“Visual C#”或“Visual Basic”>“经典桌面”>“Windows 窗体应用程序”)。向项目添加新组件。 将其命名为
DemoComponent
。有关详细信息,请参阅如何:添加新项目项。
生成项目。
在“工具”菜单上,单击“选项”项。 单击“Windows 窗体设计器”项下的“常规”,确保“AutoToolboxPopulate”选项设置为“True”。
创建自定义组件实例
下一步是在窗体上创建自定义组件的实例。 由于“工具箱”会自动考虑新组件,因此,这与创建任何其他组件或控件一样简单。
在“窗体设计器”中打开项目的窗体。
在“工具箱”中,单击名为“ToolboxExample 组件”的新选项卡。
单击该选项卡后,你将看到“DemoComponent”。
注意
出于性能原因,“工具箱”自动填充区域中的组件不显示自定义位图,并且不支持 ToolboxBitmapAttribute。 若要在“工具箱”中显示自定义组件的图标,请使用“选择工具箱项”对话框来加载组件。
将组件拖到窗体上。
这将创建组件的实例并将其添加到“组件栏”。
卸载并重新加载自定义组件
“工具箱”会考虑每个已加载项目中的组件,并且在卸载项目时,它会删除对项目组件的引用。
从解决方案中卸载项目。
有关卸载项目的详细信息,请参阅如何:卸载并重新加载项目。 如果系统提示保存,请选择“是”。
将一个新的“Windows 应用程序”项目添加到解决方案。 在“设计器”中打开窗体。
之前项目中的“ToolboxExample 组件”选项卡现已消失。
重新加载
ToolboxExample
项目。“ToolboxExample 组件”选项卡现在又重新显示了。
后续步骤
本演练演示了“工具箱”会考虑项目的组件,但“工具箱”也会考虑控件。 通过在解决方案中添加和删除控件项目来使用你自己的自定义控件进行试验。