我如何做到这一点,所以当我按下一个按钮时,它会打开另一种形式登录C#

时间:2019-08-06 19:32:56

标签: c# windows forms authentication windows-forms-designer

我现在正在用c#编程,我想登录。 该Propem是当我单击Login(登录)时,然后我想转到下一个Windows窗体窗口。我尝试了代码:

登录表单:Form2

主要形式:Form1

我尝试了很多代码,但是没有帮助。

                    this.Hide();
                    Form1 f1 = new Form1();
                    f1.ShowDialog();
                    this.Close();

我没有任何错误消息,但是它打开了相同的登录菜单。

2 个答案:

答案 0 :(得分:1)

要显示另一种形式,您可以使用以下代码:

  var mainForm = new Form1();
  mainForm.Show();
  this.Hide();

但是使用此代码,Login表单不会被处理,而只是隐藏。它仍然保留在内存中。

要获取所有打开的表单,可以使用此命令

 foreach (Form form in Application.OpenForms)
 {
            //doSomthing
 }

在此循环中,您可以访问所有打开的表单属性,例如名称,文本,大小等

答案 1 :(得分:0)

我认为出了点问题,在您要发表评论的图片中,您做了这样的事情:

foreach (Form from in Application.OpenForms)
{
  MainForm f1 = new MainForm();
  f1.ShowDialog();
  this.Close();
  this.Hide();
}

但是为什么。您创建 MainForm 的实例,然后关闭它!

想象一下您在 LoginForm 的代码部分:

您应在(Form2)的登录按钮后面编写以下代码。

Form1 f1 = new Form1();
f1.Show();
this.Hide();