private bool LogIn()
{
LogIn LogIn = new LogIn();
if(LogIn.ShowDialog(this) == DialogResult.OK)
{
LogIn.Dispose();
return true;
}
else
{
LogIn.Dispose();
return false;
}
} private void MDIMain_Load(object sender, System.EventArgs e)
{
this.ShowInTaskbar = false;
if(LogIn() == false)
{
this.Hide();
Application.Exit();
return;
}
lblAdminName.Text = lblAdminName.Text.Replace("name",AdminUserName);
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.ShowInTaskbar = true;
}

解决方案 »

  1.   

    this.DialogResult = DialogResult.OK;
    this.Close();在LogIn窗体的确定按钮里写这两句
      

  2.   

    /*登陆*/
    //主窗体Global
    static void Main() 
    {
    if((new Login()).ShowDialog() == DialogResult.OK) Application.Run(new Global());
    }//登陆窗体Login
    private void btnLogin_Click(object sender, System.EventArgs e)
    {
      //身份验证
      if(ture)
      {
         this.DialogResult = DialogResult.OK;
       }
      else MessageBox.Show("用户名或密码错误","错误");
    }
      

  3.   

    C#应用程序开发全程演练—从灵感到实践》¥38.00
    A C# Application from Inspiration to Implementation
    清华大学出版社
    本书适用于有一定C#编程基础,并希望了解应用程序开发全过程的读者!!!!本书完整讲解创建一个商业应用程序(库存应用程序)全过程
    1.设计应用程序
    2.设计用户界面 (MDI)
    3.构建数据库
    4.设计规范
    5.编写应用程序
    6.实现数据库
    7.自定义控件
    8.用户界面
    9.打印报表
    10.添加帮助系统
    11创建安装程序英文版下载(含源码下载)
    http://support.apress.com/books.asp?bID=186100754x&s=0&Go=Select+Book//在主窗体下(Global类)
    // 子窗体打开标志,判断ChildFormOpen子窗体是否已打开
    public static bool ChildFormOpen = false;private void mnuOpen_Click(object sender, System.EventArgs e)
    {
       //如果ChildForm没有打开,则创建ChildForm窗体的一个新实例
      if (ChildFormOpen == false)
      {
    ChildForm child = new ChildForm();
    child.MdiParent = this;
    child.Show();
    ChildFormOpen = true;//窗体状态设为已打开
       }
       //如果ChildForm窗口已打开,把ChildForm窗口带到前面显示给客户。
      else
      {
          for (int i = 0; i < MdiChildren.Length; i++)
          {
    if (MdiChildren[i].Name == "ChildForm")
    {
       MdiChildren[i].BringToFront();
    }
          }
       }
    }/*在MDI窗体的一个子窗体如何打开/关闭另一个子窗体?*/
    //打开
    if (Global.ChildFormOpen == false)
    {
       ChildForm child = new ChildForm();
       child.MdiParent = this.MdiParent;
       child.Show();
       Global.ChildFormOpen = true;

    }
    else
    {
       for (int i = 0; i < this.MdiParent.MdiChildren.Length; i++)
       {
         if (this.MdiParent.MdiChildren[i].Name == "ChildForm")
         {
            this.MdiParent.MdiChildren[i].BringToFront();
         }
      }
    }
    //关闭
    for (int i = 0; i < this.MdiParent.MdiChildren.Length; i++)
    {
       if (this.MdiParent.MdiChildren[i].Name == "ChildForm")
      {
          this.MdiParent.MdiChildren[i].Close();
      }}
    /*当激活一个子窗体时执行*/
    (Global类)
    private void Global_MdiChildActivate(object sender, System.EventArgs e)
    {
        if(ActiveForm.ActiveMdiChild == null)
        {
          initializeGlobal();//当没有子窗体打开时,设置窗体默认值 略
        }
        else
        {
          switch(ActiveForm.ActiveMdiChild.Name)
          { 
    case"ChildForm":
              initializeChildForm();
              //如果激活的子窗体为ChildForm,
              //设置主窗体(如MDI父窗体中菜单栏、工具栏那些按钮禁用/启用)
              //略
     break;
          }
        }
    }
      

  4.   

    /*注销*/
    private void mnuLogout_Click(object sender, System.EventArgs e)
    {
       //关闭所有打开的MDI子窗体
       while(this.MdiChildren.Length != 0)
       {
           this.MdiChildren[0].Close();
       }
       //隐藏主窗体
       this.Hide();
       //显示登陆窗体
       if((new Login()).ShowDialog() == DialogResult.OK)this.Show();
       //退出程序
       else Application.Exit();
    }