一尘不染

如何检查Windows窗体是否已打开,如果已关闭,则将其关闭?

c#

我有一个表格 “ fm” ,它是一个简单的信息窗口,每10分钟会打开一次(fm.Show();)。

我如何每隔10分钟检查一次 “ fm” 表单是否打开,如果打开,则将其关闭并再次打开!

现在,总是使用创建表单fm,form fm = new form();
因此当我尝试检查表单是否打开时,即使以前有一个表单,它也总是false并打开一个新窗口!

我需要有一个为其赋予唯一标识的工具,然后检查是否打开了具有唯一标识的表单!

我不想只更新表单(fm)上的数据,因为我有一个带有按钮的复杂信息。

表单名称是 "UpdateWindow"

谢谢


阅读 316

收藏
2020-05-19

共1个答案

一尘不染

也许这会有所帮助:

FormCollection fc = Application.OpenForms;

foreach (Form frm in fc)
{
//iterate through
     if (frm.Name == "YourFormName")
     {
         bFormNameOpen = true;
     }
}

foreach中的一些代码可以检测特定形式,并且可以完成。未经测试。

http://bytes.com/topic/c-sharp/answers/591308-iterating-all-open-
forms上找到

2020-05-19