0

我在我的表单中附加了登录模块。我在这方面遇到了问题,因为登录表单必须在另一个主表单之前显示,以便用户可以通过身份验证。我正在使用 VS 2005,我现在有两种形式

1)登录 2)主窗体我只想在主窗体之前显示登录表单,并在身份验证后关闭(不隐藏)登录表单。有什么办法吗?以前我工作过闪屏并用线程解决它。

4

1 回答 1

1

这是一个 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();
    }
于 2012-08-14T10:21:50.017 回答