我要做的只是在一个用户验证通过之后,打开主窗口……例如,同一个工程,同空间名下的login.cs中一个值public blPass=false//当验证通过是其值为true 我要做的是一个验证通过时运行下一个窗体,那么我在program.cs中Main主要代码为 
..... 
Application.Run(new login()); 
if(login().blPass==true) 
Application.Run(new MainFrm()); 
.... 登陆窗口是出来了,但是没有运行下一步,似乎我点login的退出时闪现MainFrm这个窗口。对了,login中退出我是写Application.Exit() 可能描述得有些乱了……

解决方案 »

  1.   

    一般写这样是有问题的,Application.Run()实际上是运行一个线程,new login() 的时候实际上线程是阻塞在LOgin类中,当login运行完毕之后,login的资源会被全部释放,这时侯login.blPass是无效的,所以应该是不行。
    你可以这么写,在Login中写MainFrm f= new MainFrm(); f.show();this.close();
    或者是MainFrm f= new MainFrm();this.visible=false; f.showDialog();this.close();
      

  2.   

    那我想继续问……能不能在Main里面添加打开这个窗口的方法呢?