还是登陆窗口和主窗口切换问题。
下面是登陆验证部分:
          XmlDocument xd = new XmlDocument();
          xd.Load(indata);
          XmlNodeList errorno = xd.GetElementsByTagName("errorno");
          XmlNodeList msg = xd.GetElementsByTagName("errormsg");
            int nameid=int.Parse(errorno[0].InnerText);
          if (nameid <=0)
            {
                MessageBox.Show(msg[0].InnerText, "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
            }
            else
            {
            Application.Run(new MainForm());
            }而在MAIN后面:
  LoginForm login = new LoginForm();
  login.ShowDialog();
  login.Close();现在出现问题是 当账号密码是错误的。输出MessageBox.Show(msg[0].InnerText, "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
错误信息后,整个程序就关闭了。

解决方案 »

  1.   

    而在MAIN后面:
    这是什么意思?不要在prograM里面放代码吧?
      

  2.   

    都不执行 Application.Run 了,程序运行还不结束?
      

  3.   

     Application.Run(new MainForm());
    你必须的执行啊,都没有Run程序肯定就退出了啊,你可以修改为:
     Application.Run(new LoginForm());
      

  4.   

    Application.Run 没执行
     login frmlogin = new login();
                if (login.ShowDialog() == DialogResult.OK)
                {
                    Application.Run(new mainform());
                }
      

  5.   


    谢谢,解决了。用这个办法过也有问题。不过后来在Login的判断里成功DialogResult = DialogResult.OK; 失败探出错误信息并 DialogResult = DialogResult.None;
    而Main里还是用Application.Run(new MainForm());
    主窗口,MainForm里加个判断  调用账号密码窗口!功能全部正常了