我想在我的C#应用程序运行中运行名为frmLogin的登录表单。我想出了两种不同的方法来做到这一点,我想知道这两种方法中的任何一种是否更为优选?为什么?或者如果他们完全平等?
另外,如果有比这更好的做法,那是什么?
第一种方式:
Application.Run(new frmLogin());
第二种方式:
frmLogin _login = new frmLogin();
Application.Run(_login);
答案 0 :(得分:3)
两者之间没有功能差异。
唯一真正的区别是第二种形式使您能够在frmLogin
方法完成后访问Run
。所以,除非你真的对_login
做了什么,否则这里没有区别
答案 1 :(得分:1)
没有任何区别。存储表单引用的局部变量存在于其中,在第二个片段中它只是没有名称。
然而,你没有做到这一点。您实际上无法判断登录是否成功。当用户登录并关闭窗口时,没有任何好处发生,您的应用程序将停止运行。如果你试图通过隐藏登录窗口来解决它,那么你将很难停止应用程序。
你应该这样做:
using (var dlg = new frmLogin()) {
if (dlg.ShowDialog() != DialogResult.OK) return;
}
Application.Run(new frmMain());