仅打开4个特定表单的实例

时间:2013-01-08 07:52:52

标签: c# winforms

好的......我已经搜遍了互联网,但也许我输错了或者我不知道。无论如何,我所拥有的是两个Windows窗体(我用C#编码)。 Form1和Form2。在Form1中我有一个按钮。单击此按钮可打开Form2。我正在使用:

Form2 frm2 = new Form2();
frm2.Show();

我想使用frm2.Show,因为我确实要打开这个表单的多个实例。

现在的事情是我只想打开这个表格的4个实例。

如果我点击Form1的按钮,它应该打开它。让我说我点击了3次,然后Form2应该打开3次。当我关闭其中2个时,我现在只剩1个。然后再次单击它3次,第4次它不应该打开Form2。

有没有办法知道有多少表单实例?因为

if statement 

不会做这个工作。

1 个答案:

答案 0 :(得分:7)

您可以使用Application.OpenForm属性来检查已打开表单的计数。就像是。

int formCount = Application.OpenForms.Cast<Form>().Count(r => r.Name == "Form2");
if (formCount > 4)
    Console.WriteLine("Already 4 instances of the forms are open");