我做了一个程序,里面有From1,From2,From3
From2是密码登陆框来的
点From1的一个button就打开From2
在From2里输入帐号密码之后,“对的话关闭From2打开From3”From2的“确定”button代码是这样的:
if (xxxxxxxxx)
       MessageBox.Show("帐号或密码错误!");
else
     {
        this.Close();        
        From3 myF3 = new From3();
        myF3.ShowDialog();
     }
问题是From3打开了,但是From2关闭不了,请问怎么解决?无论用show还是ShowDialog都是不行。帮帮我谢谢。

解决方案 »

  1.   

        
                this.Visible = false;
                LiBo.ColorPicker.FrmConfig Frmconfig = new LiBo.ColorPicker.FrmConfig();            Frmconfig.ShowDialog();
                this.Visible = true;
          
      

  2.   

    怎么又是一个重复的贴啊?if (xxxxxxxxx) 
          MessageBox.Show("帐号或密码错误!"); 
    else 
        { 
            this.Hide();        
            From3 myF3 = new From3(); 
            myF3.ShowDialog(); 
        } 
      

  3.   

    对就是楼上这个思路,主窗体不能先Close,要先Hide
      

  4.   

    不能关闭父窗体父窗体关闭后,它的子孙也就没了,所以Frm3就出不来了
      

  5.   

    只能用this.Hide()把不用的窗体隐藏起来,你如果把前面的窗体关了,
    那后面的窗体重哪里出来呢?