C#(模板模式)将父窗体继承之后重写一个按钮的事件,为什么每次都要运行两次才结束?

父窗体中的事件代码

protected virtual void btnFind_Click(object sender, EventArgs e)

{

           //内容

}

 

子窗体中的事件代码

protected override void btnFind_Click(object sender, EventArgs e)

{

           //内容

}


在子窗体单击按钮时发现先执行父窗体的虚方法,也就是子窗体中的事件,执行完以后又执行子窗体Click事件,等于执行了子窗体两次Click事件。

解决方法:

在子窗体的窗体设计器生成的代码文件(扩展名为:Designer.cs文件),把子窗体的Click事件删除,这样他就执行父窗体虚方法事件了。

你可能感兴趣的:(C#(模板模式)将父窗体继承之后重写一个按钮的事件,为什么每次都要运行两次才结束?)