3

好的......我已经在互联网上搜索过,但也许我输入错误或者我不知道。无论如何,我拥有的是两个 Windows 窗体(我正在用 C# 编码)。表格 1 和表格 2。在 Form1 中,我有一个按钮。单击此按钮时,将打开 Form2。我在用着:

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

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

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

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

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

if statement 

不会做这项工作。

4

1 回答 1

7

You can use Application.OpenForm property to check the count of opened forms. Something like.

int formCount = Application.OpenForms.Cast<Form>().Count(r => r.Name == "Form2");
if (formCount > 4)
    Console.WriteLine("Already 4 instances of the forms are open");
于 2013-01-08T07:58:45.680 回答