我在我的表单中附加了登录模块。我在这方面遇到了问题,因为登录表单必须在另一个主表单之前显示,以便用户可以通过身份验证。我正在使用 VS 2005,我现在有两种形式
1)登录 2)主窗体我只想在主窗体之前显示登录表单,并在身份验证后关闭(不隐藏)登录表单。有什么办法吗?以前我工作过闪屏并用线程解决它。
我在我的表单中附加了登录模块。我在这方面遇到了问题,因为登录表单必须在另一个主表单之前显示,以便用户可以通过身份验证。我正在使用 VS 2005,我现在有两种形式
1)登录 2)主窗体我只想在主窗体之前显示登录表单,并在身份验证后关闭(不隐藏)登录表单。有什么办法吗?以前我工作过闪屏并用线程解决它。
这是一个 Windows 窗体应用程序吗?当 MainForm 从 main 方法实例化时,您不能打开 LoginForm 的新实例吗?
然后,您可以使用DialogResult来确定用户是否经过身份验证,然后在 LoginForm 上调用 Dispose()。
public partial class MainForm : Form
{
public Form1()
{
InitializeComponent();
DialogResult dr = new DialogResult ();
LoginForm loginForm = new LoginForm ();
dr = loginForm.ShowDialog();
if ( dr == DialogResult.OK )
{
//user is authenticated
}
else
{
//user isn't
}
}
}
您的登录表单可能如下所示
public LoginForm()
{
InitializeComponent();
if (DoAuthentication)
{
this.DialogResult = DialogResult.OK;
}
else
{
this.DialogResult = DialogResult.None;
}
this.Close();
}