1

Visual Studio 2008 在检测控件并将控件从项目添加到工具箱以供表单设计器使用方面做得更好。如果您有一个具有 UserControl 或 DataSet 派生类型的程序集,那么它将自动检测该控件并将其添加到用于设计表单的工具箱中。这比 2005 年的旧系统稍微好一点,旧系统使您手动添加控件并且偶尔会忘记它们等。

然而,在我正在处理的遗留的、单一的项目(现在升级到 vs2008)上,这意味着许多我不想要也不需要的控件(并且对这么多遗留代码进行重新设计是没有保证的:()。我想如果我将某些类型设置为内部或私有,那么它们就不会出现。但是,我需要其中许多保持公开,但不会出现在工具箱中。此外,有这么多控件被添加到工具箱中,打开 winforms 设计器显着减慢。

  1. 是否存在阻止工具箱外观的属性或其他机制(否则不会影响功能)?
  2. 使用这种机制进行过滤会提高性能,同时仍然自动检测应该在工具箱中的新类型吗?(我知道你可以禁用自动检测,但在很多情况下它很好)
  3. 其他人是否在大型解决方案(具有许多 csproj/vbproj 文件)上遇到过这种烦恼?

编辑:谢谢大家!我知道它必须简单(并且可能是一个属性),但这填补了空白。很高兴知道我在不知道 ToolBoxItem(false) 的情况下相处得很好。

4

2 回答 2

2

以下属性应将其从工具箱中隐藏:

[ToolboxItem(false)]

如果将其应用于所有不想显示的类型,它仍会显示您创建的没有此属性的任何新类型。请注意,您可能必须手动删除要开始的项目。

博客文章显示了您可能想要使用的一些其他属性。

于 2009-01-19T22:47:01.043 回答
1

浏览工具箱并为您看到要隐藏的每个自定义控件,在类上方添加以下属性:

[工具箱项目(假)]

当然,这是一个编译属性,会影响到每个使用代码的人,所以我只建议对没有拖放意义的控件这样做。否则,你可能会让喜欢这种控制的人非常非常生气。:)

于 2009-01-19T22:45:29.690 回答