显示隐藏表单时触发的事件

时间:2014-07-10 14:08:29

标签: c# forms

我有两个表单,当另一个表单正确显示时我想隐藏一个表单。我一直在使用这样的代码:

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。

顺便说一下,我不能使用显示的事件,因为表格会被显示和隐藏而不会被处理掉。显示仅在首次显示表单时触发。

1 个答案:

答案 0 :(得分:0)

根据你所写的内容我得到了,你想要,在特定事件之后,显示第二种形式,对吧? 那你为什么不在你的按钮onClick事件下定义呢?

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 f = new Form2();
        this.Hide();
        f.ShowDialog();
        this.Close();            
    }

我是对的吗?