在基类中激活未触发?

问题描述:

我有这样的事情:在基类中激活未触发?

public class WinformBase : Winform 
{ 
    public WinformBase(){ 
     this.Activated += new System.EventHandler(this.MyTest1_Activated); 
    } 
    private void MyTest1_Activated(object sender, EventArgs e) 
    { 
     MyController.TopFormActivated(this); 
    } 
} 

public class MyForm : WinformBase 
{ 
     public MyForm(){ 
     this.Activated += new System.EventHandler(this.MyTest2_Activated); 

     } 
     private void MyTest2_Activated(object sender, EventArgs e) 
     { 
     MyController.TopFormActivated(this); 
     } 
} 

的问题是,该事件在MyForm的,而不是在WinForm的基础,才触发?
这是为什么,我怎样才能在WinformBase触发事件呢?

这是我的问题的解决方案:

public class WinformBase : Winform 
{ 
    public WinformBase(){ 
    } 

    protected override void OnActivated(EventArgs e) 
    { 
     base.OnActivated(e); 
     Controller.MyMethod(); 
    } 

} 

public class MyForm : WinformBase 
{ 
     public MyForm(){ 
     } 
}