假设有一个窗体类A,A中有一个OK按钮。另有一个窗体类B,B从A继承而来,我在B的OK按钮中也写了响应的代码。现在遇到的问题是当我Click B的OK按钮时,Click事件被响应了2次,类B一次,类A一次,但是我不想类A的也响应。这个该如何解决呢?我在网上检索了一下,得到解决方法是,在类B的构造函数加入这样的代码

this.btnOK.Click -= new System.EventHandle(base.btnOK_Click);

显示的将类A的事件响应从类B中移走。按照这样的做法,我的问题似乎得到解决了,
但是如果我有很多窗体都是从A继承而来的话,那岂不是要每个子类都要进行这样的
修改?那可要累死人了。希望有人看到我的疑问后,可以给我一个解答,谢谢!!

ps:不过,偶还是希望自己能解开这个谜团:)

昨日在家无意中得到解决方法,其实很简单,只要将基类相应的方法定义为virtual即可。