如何对BaseForm类中的特定表单执行操作?

时间:2012-09-27 10:50:22

标签: c# winforms

我想让我的程序知道哪个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

0 个答案:

没有答案