C# 如何检查子窗体是否最小化?
我实现了一个名为checkopen的方法,用于检查表单是否打开C# 如何检查子窗体是否最小化?,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,我实现了一个名为checkopen的方法,用于检查表单是否打开 private bool CheckOpened(string name) { FormCollection fc = Application.OpenForms; foreach (Form frm in fc) { if (frm.Text == name) { return true; } } return fal
private bool CheckOpened(string name)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm.Text == name)
{
return true;
}
}
return false;
}
以同样的方式我想检查表单是否最小化。
通过该检查,我希望在StatusStrip中显示最小化状态,最小化表单的名称将显示在该状态条上,当用户单击表单的名称时,它将显示出来
如何进行该检查?使用相同的检查但查询属性:
private bool CheckMinimized(string name)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm.Text == name && frm.State == FormWindowState.Minimized)
{
return true;
}
}
return false;
}
您可以通过阅读
Form.WindowState
属性来检查表单是否最小化,该属性返回FormWindowState.Normal
、FormWindowState.Maximized
或FormWindowState.minimized
关于您的代码,我认为|124;
(或其他)应该是&
(以及).仍然不工作我已经试过了…这不是回答你问题的评论,抱歉。这是关于您当前代码的注释,对于它遇到的第一个可见表单,它将返回true
。我看到你同时修改了你的代码,所以现在没有任何意义。到底是什么不起作用?您正在询问如何确定表单是否被模拟。为什么答案不起作用?发生了什么?最小化表单的标准行为(可能您正在使用MDI应用程序?)不会出现在StatusStrip上。因此,您可能实际上没有最小化表单,这解释了为什么建议检查WindowState
属性的答案对您不起作用:您没有修改WindowState
。所以你必须告诉我们你正在做什么来“最小化”StatusStrip中的表单,然后,这将回答您关于如何检查它们是否最小化的问题--只需颠倒过程。仍然不起作用…正在创建另一个相同形式的实例。正如我在OP上所说的一样:|
应该是一个&
,代码才能正常工作。