我正在创建 Button 的子类,并希望向其某些事件(例如 OnClick)添加自定义功能。哪种方式更理想?我是否重写 OnClick:
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
doStuff();
}
或者我应该通过设计器将 OnClick 事件链接到 Button 子类中定义的事件处理程序?
class ButtonSubclass
{
public ButtonSubclass() : base()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.Click += new System.EventHandler(this.ButtonSubclass_Click);
}
}
Edit:我添加了一些小的视觉更改(可能会作为基本的皮肤),但大多数更改都在事件处理程序中,我不想在每个重用它的表单上重新实现(复制粘贴)。
如果您真正专业化该按钮,则覆盖是有意义的OnClick
。如果你只是actually改变单击按钮时发生的情况,我不会子类化Button
首先 - 我会just添加事件处理程序。
编辑:只是为了提供更多的想法 - 如果您想为多个按钮添加类似的事件处理程序,很容易编写一个实用程序方法来执行此操作,并从多个位置调用它。它不需要实际的子类化。这并不是说子类is当然,在你的情况下肯定是错误的 - 只是给你额外的选择:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)