我在申请中遇到了问题。我有两种形式,一种在我的应用程序启动时加载,要求输入密码,另一种在用户使用正确密码登录时显示。
如何关闭登录表单并让用户继续到下一个实际申请的表单?
目前我隐藏了登录表单,但需求是关闭登录表单,防止额外处理。但是,当我关闭登录表单时,我的应用程序退出,当我隐藏登录表单但关闭实际应用程序表单时,登录表单保持打开状态并阻止我的应用程序关闭,因为登录表单仍在后台运行。
如何解决这个问题?
最佳答案
我通常处理这个问题的方法是编写类似于 main 方法中的代码;
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (PerformLogin())
{
Application.Run(new MainForm());
}
}
private static bool PerformLogin()
{
using (LoginForm loginForm = new LoginForm())
{
if (loginForm.ShowDialog() == DialogResult.OK)
{
return AuthenticateUser(loginForm.UserName, loginForm.Password);
}
else
{
return false;
}
}
}
由于登录表单是在 PerformLogin
方法中创建和销毁的,因此它不会在内存中保留超过必要的时间。
关于c# - 如何关闭窗口窗体并将控制转移到另一个窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475349/