我想检查是否打开了表单的实例并打开现有实例以更新文本框,否则创建一个新实例。
搜索后我发现:如何检查一个windows窗体是否已经打开,如果是则关闭它?
从我尝试的接受的答案
try
{
foreach (Form fm in Application.OpenForms)
{
if (fm is Form2)
{
Form2 n1 = (Form2)Application.OpenForms["Form2"];
n1.textBox1.Text = textBox1.Text;
break;
}
else
{
Form2 n1 = new Form2();
n1.textBox1.Text = textBox1.Text;
n1.Show();
}
}
}
catch (InvalidOperationException)
{
}
除此之外,此代码会抛出一个InvalidOperationException
(我已经在捕获),该代码不起作用,因为如果一个实例已经存在,它仍然会创建一个新实例。
我究竟做错了什么?