我有一个现有的库(不是Winforms应用程序),它为一些真正的Windows应用程序提供了一些Winforms。在这个库中,我想创建一个用户控件来将一些控件组合在一起。为此,我右键单击,添加,用户控制并将一些控件拖到新的用户控件上。
到目前为止,这么好。用户控件甚至具有必需的用户控件图标。但是将新的用户控件从解决方案资源管理器拖动到新的空白Winform不起作用(我得到一个带有直线的圆圈),并将其拖到工具箱中也不起作用(即使我得到一个+号)当我将它拖到工具箱上时。)
是否存在某种XML魔法或其他我不想做的工作?
注意:我在Visual Studio 2008中遇到了一些问题,我通过遵循可以找到here的变通办法来解决这个问题。我现在能够通过简单地重建项目来将用户控件添加到我现有的项目到工具箱中。
答案 0 :(得分:85)
假设我明白你的意思:
如果你的UserControl
在库中,可以使用
工具箱 - >右键单击 - > 选择项目 - > 浏览
使用UserControl
选择您的程序集。
如果UserControl
是项目的一部分,您只需要构建整个解决方案。之后,您的UserControl
应该出现在工具箱中。
通常,无法仅从“工具箱”中添加“解决方案资源管理器”中的“控件”。
答案 1 :(得分:5)
获取此错误的一种方法是尝试在项目设置为x64时将usercontrol添加到表单。 Visual Studio抛出了无用的东西:“无法加载工具箱项。它将从工具箱中删除。”
解决方法是使用“Any CPU”进行设计,并根据需要编译为x64。
答案 2 :(得分:2)
我发现用户控件可以存在于同一项目中。
正如其他人提到的,必须将AutoToolboxPopulate设置为True。
创建所需的用户控件。
选择构建解决方案。
如果新的用户控件未显示在工具箱中,请关闭/打开Visual Studio。
如果用户控件仍未出现在工具箱中,请右键单击该工具箱,然后选择“重置工具箱”。然后选择构建解决方案。如果它们仍然不存在,请重新启动Visual Studio。
构建解决方案时,不得有任何构建错误,否则新的工具箱项将不会添加到工具箱中。
答案 3 :(得分:0)
一个用户控件不能自己应用。因此,打开另一个Winform,一个将出现在工具箱中。