如何将新的用户控件添加到工具箱或新的Winform?

Rob*_*vey 64 c# user-controls visual-studio-2008 winforms

我有一个现有的库(不是Winforms应用程序),它为一些真正的Windows应用程序提供了一些Winforms.在这个库中,我想创建一个用户控件来将一些控件组合在一起.为此,我右键单击"添加","用户控制"并将一些控件拖到新的"用户控件"上.

到现在为止还挺好.用户控件甚至具有必需的用户控件图标.但是将新的用户控件从解决方案资源管理器拖动到新的空白Winform不起作用(我得到一个带有直线的圆圈),并将其拖到工具箱中也不起作用(即使我得到一个+号)当我把它拖到工具箱上时).

是否有某种XML魔法或其他我不想做的工作?


注意:我在Visual Studio 2008中遇到了一些问题,我通过遵循可在此处找到的解决方法设法修复了这些问题.我现在能够通过简单地重建项目来将用户控件添加到我现有的项目到工具箱中.

dkn*_*ack 89

假设我理解你的意思:

  1. 如果您UserControl在库中,则可以使用工具箱将其添加到工具箱中

    工具箱 - >右键单击 - > 选择项目 - >Browse

    选择你的装配UserControl.

  2. 如果它UserControl是项目的一部分,您只需要构建整个解决方案.之后,您UserControl应该出现在工具箱中.

通常,无法仅从"工具箱"中添加"解决方案资源管理器"中的"控件".

在此输入图像描述

  • 关闭并重新打开VS 2013为我工作. (6认同)
  • 在VS 2017中遇到此问题.关闭VS 2017并重新打开使用UserControl更新工具箱. (4认同)
  • 您也可以右键单击并显示全部,如果您的控件在列表中,但禁用,则还有其他问题. (3认同)
  • 您是仅构建了项目还是整个解决方案?我对崩溃问题没有答案(这与你的问题无关,我认为),你应该为此创建一个新的答案.你怎么看 ? (2认同)

Gra*_*ell 7

获取此错误的一种方法是尝试在项目设置为x64时将usercontrol添加到表单.Visual Studio抛出了无用的东西:" 无法加载工具箱项目.它将从工具箱中删除. "

解决方法是使用"Any CPU"进行设计,并根据需要编译为x64.

参考:https://support.microsoft.com/en-us/kb/963017


Luk*_*uke 5

我发现用户控件可以存在于同一个项目中。
正如其他人提到的,AutoToolboxPopulate 必须设置为 True。
创建所需的用户控件。
选择构建解决方案。
如果新的用户控件未显示在工具箱中,请关闭/打开 Visual Studio。
如果用户控件仍未显示在工具箱中,请右键单击工具箱并选择“重置工具箱”。然后选择构建解决方案。如果它们仍然不存在,请重新启动 Visual Studio。
构建解决方案时不能有任何构建错误,否则新的工具箱项将不会添加到工具箱中。