2016-12-24 108 views
0

我有两个win窗体frmMain和frmMemberSearch,在frmMemberSearch中有一个按钮将运行一个函数并执行下面的代码。如何捕捉窗体公开事件

frmMain main = new frmMain(true, search_content, member_id); 
main = (frmMain)Application.OpenForms["frmMain"]; 

这将切换回frmMain,以及如何捕捉到这个事件,我用了显示,但它不工作“OpenForms”:

//constructor 
public bool isDisplay = false; 
public frmMain(bool isDisplay, string searchContent="", int member_id=0, int unit_id = 0) { 
      InitializeComponent(); 
      Shown += frmMain_Shown; 
} 

private void frmMain_Shown(Object sender, EventArgs e) { 
    if (this.isDisplay == true) { 
     Messagebox.show("hello"); 
    } 
} 

我应该使用什么事件追踪事件?

回答

0

您必须显示表单才能触发事件frmMain_Shown。 尝试以下

frmMain main = new frmMain(true, search_content, member_id); 
main = (frmMain)Application.OpenForms["frmMain"]; 
main.ShowDialog(); 

使用ShowDialogShow方法按您的要求。