在我的main方法中,我像往常一样启动主窗体:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
Run Code Online (Sandbox Code Playgroud)
在主要表单加载的东西我有以下,这将要求用户登录和东西.
using (loginForm)
{
DialogResult r = loginForm.ShowDialog();
switch (r)
{
case DialogResult.OK:
break;
default:
Application.Exit();
return;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是主要表单出现在后台,我想要它,好吧......不是.直到登录确定.我该怎么做?Application.Run()方法说它会自动显示表单.是否有另一种方法可以启动主窗体而不显示它?或者我必须在主窗体的构造函数中将visible设置为false,然后在登录完成后返回true,或类似的东西?做这样的事情的推荐方法是什么?登录表单意图就像一个组合的启动画面和登录.首先它加载并设置一些不同的东西,然后它告诉用户登录.
Ski*_*izz 11
代替:
Application.Run(new MainForm());
Run Code Online (Sandbox Code Playgroud)
尝试:
LoginDialog // the class that handles login UI
login = new LoginDialog ();
if (login.ShowDialog () == DialogResult.OK)
{
// check credentials
// if credentials OK
Application.Run(new MainForm());
}
Run Code Online (Sandbox Code Playgroud)
该ShowDialog方法是一个阻塞调用,程序将停止,直到对话框关闭以响应用户输入 - 按"确定"按钮或"取消"按钮.