winform程序,我通过login窗体进入main窗体。当账户密码正确后隐藏login窗体。
我使用了this.Hide();结果有的时候这个窗体可以隐藏,有的时候又不能隐藏。一般情况下我第一次开程序都不能隐藏,我把程序关了在开就没有问题了。
后来我使用了this.Visible = false;然后一样。
请问这是什么原因!!
谢谢

解决方案 »

  1.   

    建议楼主不使用Hide, 而是在Main函数中处理主画面的打开。
    static void Main() 
    {
       LoginForm loginForm = new LoginForm();
       loginForm.ShowDialog();   MainForm mForm = new MainForm();
       Application.Run(mForm);
    }
      

  2.   

    if(myDr.Read())
    {
    try
    {
    this.Hide();
    Form3 main = new Form3();
    main.ShowDialog();
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
    }
    else
    {
    MessageBox.Show("此用户不存在");
    }
    myDr.Close();
    这种方式是可以的....
    但建议使用楼上的..
      

  3.   

    推荐lmtz(忽隐忽现) 的方法
      

  4.   

    static void Main() 
    {
       LoginForm loginForm = new LoginForm();
       loginForm.ShowDialog();
       if(valid){
       MainForm mForm = new MainForm();
       Application.Run(mForm);}
    }
    这样可以的,只是没有样式风格了
      

  5.   

    问题解决:
    以前我用的是
    Form3 main = new Form3();
    main.ShowDialog();
    this.Hide();现在改成了
    this.Hide();
    Form3 main = new Form3();
    main.ShowDialog();