3

我创建了 MyToolStrip:ToolStrip{} 类。我的项目已经有大约 60 个工具条实例。

有没有办法(除了签名查找/替换):

  1. 强制我创建的所有表单使用 MyToolStrip 而不是 ToolStrip?
  2. 强制未来使用 MyToolStrip 而不是 ToolStrip(编译器警告足够好但不是最好的)?

我相信没有正确的方法来标记 ToolStrip 已过时或“覆盖”或隐藏系统类。那么什么是最佳实践呢?谢谢。

4

1 回答 1

2

有没有办法(除了签名查找/替换)来强制我创建的所有表单改为MyToolStrip使用ToolStrip

不是我能想到的 - 如果您的表单使用ToolStrip控件,则无法在其位置“注入”您的控件。即使您尝试使用巧妙#using的别名隐藏标准控件,设计者也会默认将完整的命名空间添加到控件声明中:

private System.Windows.Forms.ToolStrip toolStrip1;

有没有办法(除了签名查找/替换)来强制将来MyToolStrip使用而不是ToolStrip(编译器警告足够好但不是最好的)?

再说一次,不是我能想到的。如果您ToolStrip可以控制它,则可以将其视为[Obsolete]会导致编译器警告或错误(取决于您要如何使用它),但是由于它是一个框架类,因此您没有那么奢侈。

恕我直言,通过查找/替换更改 60 个实例并不算多...

于 2013-07-02T18:48:09.733 回答