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

本文关键字:表单 隐藏 显示 事件 | 更新日期: 2023-09-27 18:12:24

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

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();
}

但是使用visblechange会在form2显示之前隐藏form1。

顺便说一下,我不能使用显示事件的形式显示和隐藏,而不是处置。

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

通过你写的东西,我明白了,你想在某些事件之后,展示第二种形式,对吗?那么为什么不在按钮onClick事件下面定义它呢?

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

我说的对吗?