如何将UserControl放入Visual Studio工具箱

Sae*_*eed 90 c# toolbox visual-studio-2010 winforms

我在我的项目中创建了一个usercontrol,在构建项目之后,我需要将它放在我的工具箱中,并将其用作通用控件.但我不能.的UserControl是在我的项目命名空间,我想Choose Item在右键菜单,但我没有找到一个方法来添加.

Dav*_*veF 110

我假设你正在使用VS2010(这就是你标记的问题)我在VS2008/2005中将它们自动添加到工具箱时遇到了问题.实际上有一个选项可以阻止工具箱自动填充!

转到工具>选项> Windows窗体设计器>常规

在列表的底部,您会找到Toolbox> AutoToolboxPopulate,它在全新安装时默认为False.将其设置为true,然后重建您的解决方案.

嘿presto他们在你的解决方案中的用户控件应该自动添加到工具箱中.您可能还需要重新加载解决方案.

  • 对我来说这里的关键词是"重建"......没试过,噢!单独做这件事对我来说就是这样. (29认同)
  • 而且,重建后我不得不重新打开解决方案 (2认同)
  • @AnatoliiGumennyi如果`UserControl`在当前项目之外,你将不得不遵循@Arseny的指令. (2认同)
  • 注意:在VS2013中,工具箱> AutoToolboxPopulate设置现在在全新安装时默认为True. (2认同)

Ars*_*eny 35

右键单击工具栏,然后单击上下文菜单中的"选择项目".弹出带有已注册组件的对话框.在此对话框中单击"浏览"以使用要使用的用户控件选择程序集.

PS.此组件应在之前注册.

  • 你能解释'之前注册'吗?我不认为这是必需的. (16认同)

sco*_*ott 24

我发现用户控件必须具有无参数构造函数,否则它将不会显示在列表中.至少在vs2005中是这样的.

  • 也在vs2010. (9认同)
  • 也在vs2012. (8认同)
  • 同样在vs2013中. (8认同)
  • 还在vs2015? (6认同)
  • 在vs2015中也是 (5认同)
  • 将vs2017添加到列表中 (5认同)

小智 14

使用VS 2010:

假设您有一个Windows.Forms项目.您将UserControl(比如MyControl)添加到项目中,并将其全部设计出来.现在您要将其添加到工具箱中.

只要项目成功构建一次,它就会出现在Framework Components中.右键单击工具箱以获取上下文菜单,选择"选择项目...",然后浏览到".NET Framework组件"选项卡下的控件名称(MyControl).

使用dll的优势:您可以在与表单相同的项目中编辑控件,并使用新控件构建表单.但是,该控件仅适用于此项目.

注意:如果控件存在构建错误,请在移至包含表单之前解决它们,否则设计人员会发生心脏病发作.


MoM*_*oMo 6

我有很多用户控件,但有一个拒绝显示在工具箱中,即使我重新构建了解决方案并且已在" 选择项目..."对话框中进行了检查.

解:

  1. 解决方案资源管理器中,右键单击有问题的用户控制文件,然后选择" 从项目中排除"
  2. 重建解决方案
  3. 右键单击用户控件并选择" 包括在项目中"(假设您在" 解决方案资源管理器"中启用了" 显示所有文件")

请注意,这还要求您启用AutoToolboxPopulate选项.正如@DaveF的回答所示.

另一种解决方案:我不知道,如果这个工程,我能不试试呢,因为我已经解决了我的问题,但如果未选中从用户控件选择项目...对话框,点击确定,然后打开它备份并检查用户控件.这也可能有用.