日期:2014-05-20  浏览次数:20747 次

各位大哥求救!小弟第一次用winform编程:请教MDI中子窗体如何控制父窗体?
我做的是登录模块,其中Login登录窗口(子窗口),现在将要实现如果登录成功MainForm(父窗体)中的菜单变为可用!
我是这么写的
      if(..)
      {
            ..........
            this.Close();
            MainForm   MF   =   new   MainForm();
            MF.miHandle.Enabled   =   true;
      }
其中miHandle是父窗体中的一个菜单已经定义为public,但是当Login关闭时MainForm没有发生变化!!!!

------解决方案--------------------
在创建自窗口的时候把mainfrom传过去,From login = new From(this);
自窗口的构造函数中
login(MainForm pra)
{
MF = pra;
}
MF 定义为全局的MainForm类型,
然后,if(..)
{
..........
this.Close();
MF.miHandle.Enabled = true;
}

------解决方案--------------------
MainForm MF = (MainForm)this.MDIParent;
MF.miHandle.Enabled = true;
this.Close();