子类内置WinForms控件?

时间:2009-01-31 15:11:49

标签: c# winforms custom-controls

我在Visual Studio中遇到了使用Add New Inherited User Control自动生成自定义控件的子类的功能。

但是我还没有找到关于如何创建Button的子类的明确描述。除了实际的方法之外,我还对VS是否为此提供有用的代码生成感兴趣?

1 个答案:

答案 0 :(得分:3)

您只需创建自己的继承Control的类,您想要子类化。例如:

class BetterButton : Button { ...}

这很容易。现在,您可以选择覆盖各种方法或属性,具体取决于您希望使用新控件实现的目标。它可能是任何东西,真的。我经常看到的一件事就是重写OnPaint以获得以自定义方式绘制的控件;并且仍然获得原始控件的行为。

就UserControls而言,我经常看到“父”UserControl包含一些UI逻辑和基本UI元素,而子类控件是父类的特定用途的改进。