C# 打开第二个表单,同时自动关闭第一个表单

C# 打开第二个表单,同时自动关闭第一个表单,c#,forms,C#,Forms,我用c#创建了一个登录表单 如果用户使用正确的密码和用户名登录并单击“登录”,则会打开第二个表单。如何在完成最后一步后关闭登录表单?您可以键入 FormName.ActiveForm.Close(); 它关闭当前活动窗体。您可以键入 FormName.ActiveForm.Close(); 它关闭当前活动窗体。您可以调用this.Close()您可以调用this.Close()我将从主窗体对登录窗体执行ShowDialog() 登录表单关闭后,您将返回主表单 private void

我用c#创建了一个登录表单

如果用户使用正确的密码和用户名登录并单击“登录”,则会打开第二个表单。如何在完成最后一步后关闭登录表单?

您可以键入

FormName.ActiveForm.Close();
它关闭当前活动窗体。

您可以键入

FormName.ActiveForm.Close();

它关闭当前活动窗体。

您可以调用
this.Close()

您可以调用
this.Close()

我将从主窗体对登录窗体执行ShowDialog()

登录表单关闭后,您将返回主表单

    private void Form1_Load(object sender, EventArgs e)
    {

        var foo = new Form() { Text = "Login" };
        if (foo.ShowDialog() == DialogResult.OK)
        {
           ...
        }
    }
我将从主窗体对登录窗体执行ShowDialog()

登录表单关闭后,您将返回主表单

    private void Form1_Load(object sender, EventArgs e)
    {

        var foo = new Form() { Text = "Login" };
        if (foo.ShowDialog() == DialogResult.OK)
        {
           ...
        }
    }
在Program.cs中更改Main()方法以显示登录对话框。除非输入了有效的登录名,否则不要启动消息循环。例如:

static void Main() {
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  using (var login = new LoginForm()) {
    if (login.ShowDialog() != DialogResult.OK) return;
  }
  Application.Run(new Form1());
}
如果检测到正确的登录,则LoginForm应将其DialogResult属性设置为OK。

更改Program.cs中的Main()方法以显示登录对话框。除非输入了有效的登录名,否则不要启动消息循环。例如:

static void Main() {
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  using (var login = new LoginForm()) {
    if (login.ShowDialog() != DialogResult.OK) return;
  }
  Application.Run(new Form1());
}
如果您的LoginForm检测到正确的登录,则应将其DialogResult属性设置为OK