你不会关闭子窗体用的是Application.XXX吧……

解决方案 »

  1.   

    肯定代码写错了,关闭了application,否则不会关闭主窗体
      

  2.   

    子窗体关闭是Close(),退出程序时Application.Exit()
      

  3.   

    并不是,我在子窗口全部是调用Close方法!
      

  4.   

    也就是说正常情况下,使用showdialog显示子窗口,关闭后不影响主窗体?
      

  5.   

    FormA是主窗体,FormB是子窗体
    在FormA调用子窗体:
    FormB fb = new FormB();
    fb.ShowDialog();FormB窗体关闭(返回主窗体):
    this.Close();子窗体关闭不干主窗体啥事,贴你的代码出来。
      

  6.   

    我猜你在
    showdialog()
    下面又执行了
    this.Close();
      

  7.   

    你在关闭子窗体后,用了“this.close”,就肯定把主窗体关闭了吖!
      

  8.   

    showdialog窗口,一般默认会有【确定】还是【取消】按钮。
    【确定】后执行某个动作,而【取消】则不执行任何动作,返回到父窗口。右上角【关闭】按钮,类似取消按钮的功能。
    所以,正常情况下,子窗体关闭后,主窗体是不可能自动关闭的。经过自定义了修改后,基本功能还是这样的,除非执行了某些事件处理。
    像上面说的Application操作。
    而this.Close(); 要弄清楚这个this指的是哪个句柄,VS2010以上版本,光标放在this上,会有提示this的值指的是啥~
      

  9.   


    MainWindow被关闭了
    解决方案:        [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                new Form1().ShowDialog();
                Application.Run();
            }在主窗口关闭处调用
    Application.Exit();