2013-03-14 61 views
-1

例如我有方法名稱CheckOpened檢查表單是否打開。如何檢查子窗體是否最小化?

private bool CheckOpened(string name) 
{ 
    FormCollection fc = Application.OpenForms; 

    foreach (Form frm in fc) 
    { 
     if (frm.Text == name) 
     { 
      return true; 
     } 
    } 
    return false; 
} 

在相同的方式,我想檢查表單是否最小化或不還有一件事,我使用StatusStrip中將在其上顯示最小化形式的名稱,當用戶點擊名字該表格將顯示。和我的StatusStrip邏輯工作正常我只想要代碼檢查顯示在StatusStrip最小化的形式。

+0

只是關於你的代碼的說明,我認爲'||'(或其他)應該是'&&'(也是)。 – 2013-03-14 09:33:45

+0

仍然無法正常工作,我已經試過... – 2013-03-14 09:34:39

+0

這不是一個回答你的問題的評論,對不起。這是關於你當前的代碼的一個評論,它會爲它遇到的第一個可見的形式返回'true'。我發現在此期間你已經改變了你的代碼,所以現在沒有任何意義。 – 2013-03-14 09:38:45

回答

0

使用相同的thecnique但查詢WindowState屬性:

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; 
} 
+0

仍然無法正常工作...正在創建同一表單的另一個實例 – 2013-03-14 09:41:02

+0

與我在OP上的註釋相同:「||」應該是代碼正常工作的「&&」。 – 2013-03-14 09:41:54

+0

我用&&仍然不工作..... @JohnWillemse – 2013-03-14 09:46:03

1

您可以檢查是否有Form是通過讀取Form.WindowState屬性,它返回FormWindowState.NormalFormWindowState.MaximizedFormWindowState.Minimized最小化。

+0

已經嘗試...謝謝 – 2013-03-14 09:41:20

相關問題