我想让我的程序知道哪个form
已打开,然后针对该form
执行一些特定操作。表单在主窗口中打开,并带有概述,用户可以单击图像打开新表单。对于我想要打开的表单,这个主窗口不是我的BaseForm。
要检查form
处于打开状态,我尝试了以下代码:
bool thisOne;
bool theOtherOne;
private void FormCheck()
{
foreach (Form form in Application.OpenForms)
{
if (form is frmRectangle)
{
thisOne = true;
theOtherOne = false;
break;
}
if (form is frmCircular)
{
theOtherOne = true;
thisOne = false;
break;
}
}
}
我将与表单相关的booleans
设置为true,因此我可以在另一个函数中使用它们,如下所示:
private void ActionTime()
{
if (thisOne)
Debug.WriteLine("ThisOne is open");
//Do some stuff for the ThisOne form
if (theOtherOne)
Debug.WriteLine("TheOtherOne is open");
//Do some stuff for TheOtherOne form
}
ActionTime由ClickEvent
调用,但操作永远不会发生......我猜错了foreach-loop
。