C# “我该怎么做?”;隐藏“;控件从工具箱中使用的控件?

C# “我该怎么做?”;隐藏“;控件从工具箱中使用的控件?,c#,controls,designer,C#,Controls,Designer,我在C#中开发了一个控件。该控件可以在运行时弹出其他控件。在VisualStudio中包含程序集时,将显示我创建的控件,但也会显示其他控件(我的控件使用的控件)。我不希望它们出现在VisualStudio的工具箱中。是否有一个属性可以应用于这些类以使它们不显示?我找到了browsable属性,但它说它是用于属性和事件的。如果将UserControl声明为“internal”而不是“public”,则在另一个项目中引用程序集时,它不会显示在工具箱中 更新:或者这根本不起作用。当我试图在另一个控件中

我在C#中开发了一个控件。该控件可以在运行时弹出其他控件。在VisualStudio中包含程序集时,将显示我创建的控件,但也会显示其他控件(我的控件使用的控件)。我不希望它们出现在VisualStudio的工具箱中。是否有一个属性可以应用于这些类以使它们不显示?我找到了browsable属性,但它说它是用于属性和事件的。

如果将UserControl声明为“internal”而不是“public”,则在另一个项目中引用程序集时,它不会显示在工具箱中


更新:或者这根本不起作用。当我试图在另一个控件中托管一个控件时,我无法使我的简单测试控件正常工作。让我知道“内部”是否有效。

将[ToolboxItem(false)]属性添加到您不想在工具箱中显示的类。

我已经验证了将其设置为内部并没有帮助。这很奇怪-将其设置为内部确实会将其排除在我的消费项目的工具箱之外。哦,很明显ToolboxItem属性更有意义。现在我需要弄清楚如何设置图标。我尝试了ToolboxBitmap,但尚未成功使其工作。ToolboxBitmap是正确的属性。您需要将.bmp文件添加到项目中,并确保其生成操作设置为“资源”。然后,假设它名为Example.bmp,并且与控件位于同一文件夹中,那么ToolboxBitmap属性将类似于:名称空间MyControls{[ToolboxBitmap(typeof(MyControl),“Example.bmp”)]公共密封类MyControl:control{}