我有两个表单,当另一个表单正确显示时我想隐藏一个表单。我一直在使用这样的代码:
FormA form1 = new FormA();
FormB form2 = new FormB();
private void displayOne()
{
form1.Show();
form1.btn.Click += this.showForm2;
form2.VisibleChanged += this.hideForm1;
}
private void hideForm1 (object sender, EventArgs e)
{
if (this.form2.Visible)
this.form1.Hide();
}
private void showForm2 (object sender, EventArgs e)
{
this.form2.Show();
}
但是使用VisibleChanged会在form2显示之前隐藏form1。
顺便说一下,我不能使用显示的事件,因为表格会被显示和隐藏而不会被处理掉。显示仅在首次显示表单时触发。
答案 0 :(得分:0)
根据你所写的内容我得到了,你想要,在特定事件之后,显示第二种形式,对吧? 那你为什么不在你的按钮onClick事件下定义呢?
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
this.Hide();
f.ShowDialog();
this.Close();
}
我是对的吗?