在基类中激活未触发?
问题描述:
我有这样的事情:在基类中激活未触发?
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(){
}
}