1

当我的新表单打开时,如何关闭密码表单?

public partial class Password : Form
{
    private string password;
    public Password()
    {
        InitializeComponent();
    }

    private void pass_TextChanged(object sender, EventArgs e)
    {
        password = "1234";
    }

    private void okButton_Click(object sender, EventArgs e)
    {
        if (passtextBox.Text == password)
        {
            list form = new list();
            form.Show();

        }
       else
        {
            MessageBox.Show("Incorrect Password. Try Again!!");
        }
    }
}

当我使用this.close();我的新表单和密码表单时都关闭。我该怎么办?

4

4 回答 4

3

我假设您PasswordForm是您在Application.Run方法内部传递的主要形式。

因此,当主窗体关闭时,应用程序将退出。

我建议您只隐藏表单而不是关闭它。

list form = new list();
form.Show();
this.Hide();
于 2013-11-10T09:10:11.503 回答
1

您可以使用 MDI 窗体作为父窗体。当一个新表单被创建并且这个新表单(它是 MDI 表单的一个子表单)在 MDI 或任何父表单上打开时,您可以搜索所有打开的子表单。如果发现任何子窗体打开,则关闭该子窗体。通过这种方式,您可以管理表单打开和关闭。

谢谢。

于 2013-11-10T09:19:43.090 回答
1

如果密码正确,您想显示新表单并关闭第一个表单,不是吗?试试这个:

 Form secondform = new form();
 Secondform.show();
 Form1 firstform = new form1();
 Firstform.hide();
于 2013-11-10T09:21:55.450 回答
0

我自己修好了

public partial class Password : Form { private string password; 公共密码(){初始化组件();}

    private void pass_TextChanged(object sender, EventArgs e)
    {
        password = "1234";
    }

    private void okButton_Click(object sender, EventArgs e)
    {
        if (passtextBox.Text == password)
        {
         // list form = new list();
         //form.Show();
             //list secondform = new list();
              //secondform.Show();
              //Password firstform = new Password();
            // firstform.Hide();
           this.Hide();
            list sistema = new list();
            sistema.ShowDialog();
            this.Close();


        }
       else
        {
            MessageBox.Show("Incorrect Password. Try Again!!");
        }
    }




}

}

于 2013-11-10T18:12:57.853 回答