簡體   English   中英

如何在隱藏所有面板上設置例外?

[英]How to make an exception on hide all panels?

我剛剛看到了另一個問題的答案,該問題隱藏了表單中的所有面板。 所以我想知道如何使此代碼例外。 這段代碼在C#中。

  foreach (Control c in this.Controls) { if (c is Panel) c.Visible = false; } 

我試圖添加另一個,如果檢查c是否是我的面板,但這不起作用。

如果(c是MyPanel)繼續;

MyPanl是我的面板的名稱。

錯誤列表說應該是A constant value is expected

有人可以幫忙嗎?

根據您的評論,您可以嘗試使用c == MyPanel作為條件而不是c is MyPanel因為... is ...檢查類型而不是compare實例。

foreach (Control c in this.Controls)
{
    if (c == MyPanel) continue;
    else if  (c is Panel) c.Visible = false;
}

我將使用linq where設置條件以使代碼更清晰

var panels = this.Controls
    .Cast<Control>()
    .Where(c => c != MyPanel && c is Panel);

foreach (var c in panels)
{
    c.Visible = false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM