private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
Wrong_Username_or_Password Wrong_Username_Or_Password = new Wrong_Username_or_Password();
Missing_Password_and_Username Missing_Password_And_Username = new Missing_Password_and_Username();
Main Main = new Main();
if (e.KeyValue == 13)
{
e.Handled = true;
e.SuppressKeyPress = true;
if (textBox1.Text == "Test" && textBox2.Text == "Test")
{
Missing_Password_And_Username.Hide();
Wrong_Username_Or_Password.Hide();
this.Hide();
Main.Show();
}
else if (textBox1.Text == "" && textBox2.Text == "")
{
Missing_Password_And_Username.Show();
}
else
{
Wrong_Username_Or_Password.Show();
}
}
}
我进行登录后无法隐藏Missing_Password_And_Username表单和Wrong_Username_Or_Password表单,但我可以隐藏此表单,我不知道如何隐藏这两个表单,我不想使用showdialog来制作用户关闭表单,因为当你在表单外按时我不喜欢“叮”声。
答案 0 :(得分:0)
据我所知,问题是您在每个按键上创建表单 Wrong_Username_or_Password 和 Missing_Password_and_Username 的新实例。如果您在最后一次按键事件期间显示了其中一个表单实例,则在当前按键事件期间您将丢失它们(因为它们刚刚创建并覆盖了相应的本地表单变量)。你实际上是想隐藏你从未表现过的形式。
将表单变量及其初始化移出keypress事件处理程序,并使其成为this-Form的本地变量。这应该解决它。