在按钮里面写了
FormMain FormMain=new FormMain();
FormMain.ActvieForm.Show();
this.Close();结果都给退出了..............................

解决方案 »

  1.   

    this.close()
    改为
    this.Hide();
    把这窗体隐藏,而不要退出
      

  2.   

    楼上的朋友,能不能用创建的方法呀
    比如说
    //创建一个登陆窗口
    FormLogin FormLogin=new FormLogin();
    //运行FormLogin
    if (FormLogin.ShowDialog()==DialogResult.OK)
    {
    FormMain FormMain=new FormMain();
    FormMain.ShowDialog();
    }
    但是出了问题的是我的cb_LoginOK按钮里面写了如下代码
    if (sle_ID.Text=='')
    {
    MessageBox.Show('必须输入用户名','操作提示');
    return;
    }
    可是sle_ID.Text没有输入,它也照样打开FormMain呀
    要怎么解决呀
      

  3.   

    if (sle_ID.Text=='')
    {
    MessageBox.Show('必须输入用户名','操作提示');
    this.ShowDialog()==DialogResult.Cancel;
    return;
    }
    else
    {
    this.ShowDialog()==DialogResult.OK;}
      

  4.   

    可是sle_ID.Text没有输入,它也照样打开FormMain呀
    要怎么解决呀
    ----------------------------------------------
    你應該在FormLogin的ok按鈕事件上判斷什麼時候this.DialogResult = DialogResult.OK;
    不然你每次一點ok按鈕,FormLogin.ShowDialog()==DialogResult.OK這一句都成立了。
      

  5.   

    假如你是要在打开新窗口时关闭当前窗口,不想隐藏的话用System.Threading.Thread也可以的。
    try{
    System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(this.threadStart));
    thread.Start();
    this.Close();
    }
    catch
    {
    }private void threadStart()
    {
       Form1 form = new Form1();

       try
       {
          form.ShowDialog();
       }
       catch
       {
       }
    }
      

  6.   


    解决了
    谢谢大家
    我用了另外种方法
    Application.Run(FormLogin);
    if (gb_LoginOK==true)
    Application.Run(Formmain);