我是C#的新手,正在使用Windows表单。我有Form1
和Form2
。在form1
中,我使用以下代码显示form2
:
Form2 frm2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
frm2.Show();
}
我想要的是:每当显示
Form2
时,我希望执行一些活动。 我将messageBox
放置在Form2Shown
事件中(用于测试),但它只会被触发一次,下一次显示Form2
时它不会再被触发。 我也尝试使用formLoad
,但它只会被触发一次,下一次显示form2
时它不会再被触发。
我知道我可以使用frm2.ShowDialog()
来每次触发显示事件,但出于某些原因我不想这样做。private void Form2_Shown(object sender, EventArgs e)
{
MessageBox.Show("Form2 is shown"); // this gets fired only once when form2 is shown.
// when I show form2 again it does not get fired.
}
private void button_Hide_Form2_Click(object sender, EventArgs e)
{
// this is in form2
Hide();
}
我的问题是:有人知道如何在每次显示form2
时触发事件吗?我很乐意得到一些新的想法来解决这个问题。谢谢。
button1
点击之间隐藏了Form2
? - Franz Wimmer