【问题标题】:How do I "hide" controls that my control uses from the toolbox?如何从工具箱中“隐藏”我的控件使用的控件?
【发布时间】:2010-11-28 07:43:55
【问题描述】:

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

【问题讨论】:

    标签: c# controls designer


    【解决方案1】:

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

    【讨论】:

    • 现在可以了,我需要弄清楚如何设置图标。我尝试了 ToolboxBitmap,但还没有成功。
    • ToolboxBitmap 是正确的属性。您需要将 .bmp 文件添加到您的项目并确保其构建操作设置为资源。然后,假设它被称为 Example.bmp 并且与您的控件位于同一文件夹中,您的 ToolboxBitmap 属性将类似于: namespace MyControls { [ToolboxBitmap(typeof(MyControl), "Example.bmp")] public seal class MyControl : Control { } }
    【解决方案2】:

    如果您将 UserControl 声明为“内部”而不是“公共”,则当您在另一个项目中引用程序集时,它不会显示在工具箱中。

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

    【讨论】:

    • 我已经证实将其设为内部并没有帮助。
    • 这很奇怪 - 将其设置为内部 确实 将其排除在我的消费项目的工具箱之外。哦,好吧,显然 ToolboxItem 属性更有意义。
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 2018-12-25
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多