一个很怪异的问题。
winform程序,我通过login窗体进入main窗体。当账户密码正确后隐藏login窗体。 
 我使用了this.Hide();结果有的时候这个窗体可以隐藏,有的时候又不能隐藏。一般情况下我第一次开程序都不能隐藏,我把程序关了在开就没有问题了。 
 后来我使用了this.Visible   =   false;然后一样。 
 请问这是什么原因!! 
 谢谢
------解决方案--------------------mark
------解决方案--------------------建议楼主不使用Hide, 而是在Main函数中处理主画面的打开。 
 static void Main()  
 { 
    LoginForm loginForm = new LoginForm(); 
    loginForm.ShowDialog();   
    MainForm mForm = new MainForm();		 
    Application.Run(mForm); 
 }
------解决方案--------------------		if(myDr.Read()) 
 			{ 
 				try 
 				{ 
 					this.Hide(); 
 					Form3 main = new Form3(); 
 					main.ShowDialog(); 
 				} 
 				catch(Exception ex) 
 				{ 
 				    MessageBox.Show(ex.ToString()); 
 				} 
 			} 
 			else 
 			{ 
 				MessageBox.Show( "此用户不存在 "); 
 			} 
 			myDr.Close();     
 这种方式是可以的.... 
 但建议使用楼上的..
------解决方案--------------------推荐lmtz(忽隐忽现) 的方法
------解决方案--------------------static void Main()  
 { 
    LoginForm loginForm = new LoginForm(); 
    loginForm.ShowDialog(); 
    if(valid){ 
    MainForm mForm = new MainForm(); 
    Application.Run(mForm);} 
 } 
 这样可以的,只是没有样式风格了
------解决方案--------------------我最早用楼主的这种方法。 
 没有出现楼主说的情况。   
 最后还是改成3楼的这种了,只是3楼忘写了一个判断登录窗体的返回值而已。
------解决方案--------------------补充一下: 
 根据这个返回值判断是否应该运行主窗体。