如图:1表主窗体MDI,2是点击《用户管理》,3点击,《新增》
1到2操作代码如下: FrmUser user = new FrmUser();
          OpenChildrenWindow(user); public void OpenChildrenWindow(Form childrenWindow)
        {
            foreach (Form exitForm in MdiChildren)
            {
                //如果子窗体存在,激活子窗体 
                if (exitForm.Name == childrenWindow.Name)
                {
                    exitForm.Activate();
                    childrenWindow.Dispose();
                    childrenWindow = null;
                    return;
                }
            }
            childrenWindow.MdiParent = this;
            childrenWindow.Show();
        }这是2里的事件代码:
  private void FrmUser_Activated(object sender, EventArgs e)
        {
            BindData();
        }
3保存退出后,应该是要执行2里的事件代码,但是没有执行2的事件代码这是怎么一回事??要怎么改??

解决方案 »

  1.   

    退出为什么要执行Activated,你可以退出时执行 BindData
      

  2.   

    我现在用,3保存退出后返回一个: this.DialogResult = DialogResult.OK;
    根据返回值可以实现我的效果 不知道还有没有其它方法??2里执行如下代码:
     FrmCustomerAdd Add = new FrmCustomerAdd();
                Add.ShowDialog();
                if (Add.DialogResult == DialogResult.OK)
                {
                    BindData();
                } 
      

  3.   

    如果 
    退出时怎么执行:BindData();  BindData()方法在2窗体里面不在窗体3上
      

  4.   


    退出时怎么执行:BindData();  BindData()方法在2窗体里面不在窗体3上
    退出时给父窗口发送一个消息,或者在推出的时候调用一下父窗口的一个函数,再函数里实现数据绑定