MainFrm dlgMainFrm=new MainFrm();
dlgMainFrm.ShowDialog();
this.Close();在MainFrm加个变量第一个界面的变量fm
这样写
MainFrm dlgMainFrm=new MainFrm();
dlgMainFrm.fm=this;
dlgMainFrm.Show;
然后在MainFrm中的load中
fm.close就行了

解决方案 »

  1.   

    你的启动函数是不是这样子的:
    Application.Run(new dlgLoginForm());dlgLoginForm是你的登录窗体?如果是这样,dlgLoginForm关闭程序就结束了。
    你可以这样作:
    private void btnOK_Click(object sender, System.EventArgs e)
    {
      MainFrm dlgMainFrm=new MainFrm();
      dlgMainFrm.ShowDialog();
      this.Hide();
    }
      

  2.   

    修正:
    private void btnOK_Click(object sender, System.EventArgs e)
    {
      MainFrm dlgMainFrm=new MainFrm();
      dlgMainFrm.Show();
      this.Hide();
    }
      

  3.   

    private MainFrm frm = new MainFrm();private void btnOK_Click(object sender, System.EventArgs e)
    {
       ……
       frm.Show();
       this.Hide();
       ……
    }
      

  4.   

    不要close,設置this.hide()一個對象的變量在這個對象被銷毀后就不存在了Main函數﹕
    Application.Run(啟動對象),啟動對象不能被銷毀的
      

  5.   

    private void btnOK_Click(object sender, System.EventArgs e)
    {
    MainFrm dlgMainFrm=new MainFrm();
    dlgMainFrm.Show();
    this.Close();
    }
      

  6.   

    //修改MAIN函数
    static void Main() 
    {
    (new Form1()).Show();//你的登陆窗口
    Application.Run();
    }
    private void btnOK_Click(object sender, System.EventArgs e)
    {
    MainFrm dlgMainFrm=new MainFrm();
    dlgMainFrm.Show();
    this.Close();
    }
    //注意此方法要在主窗口退出时即MainFrm的Closed事件中加
    //Application.Exit();
    //否则无法结束程序进程
      

  7.   

    c#需要一层一层嵌套调用。如上朋友们说的那样在
    Application.run(登陆对话框实例)
    在登陆对话框的btnOK_Click(...)
    {
       创建MainFrm对象
       this.visible = false;
    }
    ... btnCancel_Click(...)
    {
       Application.Exit();
    }