XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
不能这么做!如果只是把登陆窗口隐藏了,然后打开第二个窗口,就算添加了一个Application.Exit()也只能说简单的解决了眼前的问题,但忽略了另一个问题——你的程序在运行时,仍有一个没必要存在的窗体在后台运行!
前些时,我也做了有关登陆窗体的程序,当时我用了很多方法,包括隐藏登陆窗体,dispose登陆窗体。最后找到了一个完善的方法来解决问题。
首先,就想我说的隐藏登陆窗体会占用本应该没必要占用的资源,我后来用dispose来释放登陆窗体,但大家知道,如果一个启动窗体被dispose了,那这个程序也将被终止,但如果用dispose(false),就不会释放将前的窗体所占资源,也就是说,这个窗体只是被关闭,而程序的进程却不会终止。似乎这个能解决问题,但如果在这个基础上新建一个窗体,就算在那个窗体中设了Application.Exit()也只能关闭新建的那个窗体进程,而整个程序的进程却关闭不了!
最后我找到一个完善的方法来解决问题,就是新建一个文件(这在Visual Studio 2005中已经帮你做到了!)叫Program.cs,把Main方法写在那个文件里,安你的程序所要运行的顺序写在里面,比如说登陆窗体叫Form1,运行窗体叫Form2,那么程序应该这样写:
Application.Run(new Form1);
Application.Run(new Form2);
如果在Form1中登陆成功,那种就关闭Form1或dispose Form1,程序将运行下面一个命令也就是运行Form2窗体,而如果登陆不成功,那么,在Form1中运行Application.Exit()那么整个程序将会终止,而程序也不会执行下一条语句!
这是我对登陆窗体和运行窗体之间关系的解决方法,有什么不妥的地方,还请大家不啬赐教!