Winforms Visual Studio工具箱自定义控件仅可见一次

Winforms Visual Studio工具箱自定义控件仅可见一次,winforms,toolbox,Winforms,Toolbox,我知道有很多这样的问题,你们可能会认为这是一个重复,但不是。。。这个问题是不同的 当我向项目中添加自定义用户控件并重新生成它时,该控件将添加到工具箱中。如果我尝试添加另一个,它不会显示在工具箱中。如果我关闭VisualStudio并重新打开它,那么第一个控件也将从工具箱中删除,并且将不再出现。从现在起,项目被破坏,没有添加任何控件,删除+读取将永远显示在工具箱中。因此,我创建了一个新项目,并从头开始 在这个提示出现之前,我会说:自动填充工具箱是真的。没有什么能解决这个问题。生成项目/解决方案、重

我知道有很多这样的问题,你们可能会认为这是一个重复,但不是。。。这个问题是不同的

当我向项目中添加自定义用户控件并重新生成它时,该控件将添加到工具箱中。如果我尝试添加另一个,它不会显示在工具箱中。如果我关闭VisualStudio并重新打开它,那么第一个控件也将从工具箱中删除,并且将不再出现。从现在起,项目被破坏,没有添加任何控件,删除+读取将永远显示在工具箱中。因此,我创建了一个新项目,并从头开始

在这个提示出现之前,我会说:
自动填充工具箱
真的
。没有什么能解决这个问题。生成项目/解决方案、重建、清理+重建、重新启动VS、重新启动计算机、卸载并重新加载项目、将工具箱设置回默认值。什么都不管用


有什么想法吗?

您必须记住,设计人员在设计时调用代码构造函数和其他一些方法。

如果生成代码时控件未显示且未被属性隐藏,则您编写的代码可能与设计器不兼容。例如,由于代码不正确,控件可能在设计模式下引发异常

该属性是
[ToolboxItem(false)]
。若您有一个隐藏它的基类,若并没有另外指定,它也将隐藏在派生类中

如果在另一个组件中使用该控件,则会出现相同的问题。如果它不能正确编译和运行,您将看不到它

调试此类问题的诀窍是从VisualStudio的第二个实例附加一个调试器,以查找在代码中引发异常的位置

如果控件在运行时不工作,最好先修复它,就像它也修复了设计问题一样,这样调试更简单


否则,您必须确保您的项目依赖关系是正确的。工具箱将只显示当前项目引用的DLL中的组件(或我认为是从其自身引用的组件)。

不幸的是,此问题不是由代码引起的。我可以创建一个新项目,然后添加一个新的用户控件,没有代码,只有默认值,然后出现错误。此外,工具箱工作正常,所有控件都显示出来。但是在代码中没有任何更改,控件就从工具箱中消失了。那么您的Visual Studio安装可能已损坏。。。最好使用“报告问题”按钮将您的问题提交给Microsoft,并尽可能详细地查看他们的响应(或者其他人是否有此问题)。如果它在更新后损坏,您还应该指出它。