2011-10-09 90 views
2

我是新來的c#,並希望將所有面板設置爲可見= false共享相同的標記。這會阻止我單獨調用每個面板名稱,並在激活新面板時將其設置爲false。C#,按標籤選擇

任何幫助?

這是我會怎麼做舊的方式:

private void button3click (object sender, EventArgs e) 
{ 
Panel1.Visible = false; 
Panel2.Visible = false 
Panel3.Visible = true; 
} 
+0

我假設您使用的是Windows窗體? Windows窗體控件在VB6中沒有類似控件的標籤。 –

+0

嘿,約翰,我正在使用Microsoft Visual c#Express 2010.我不確定他們的標記系統是什麼,但我希望它可以作爲一個可選項。這裏是我設置標籤參數http://screencast.com/t/TwjTU1E6RYcy –

+0

的區域的屏幕快照我以爲他們已經擺脫了標籤,但我想讓它們保持向後兼容性。我仍然不明白這些將如何幫助你。使用給定標籤無法輕鬆找到所有控件。使用每個控件你真的會更好。它也會讓你的代碼更清潔。 –

回答

1

如果你有套的,你經常提到的一組控制,那麼你可以嘗試這些控件放置到一個列表:

List<Control> typeAControls = new List<Control>(){control1, control2}; 
List<Control> typeBControls = new List<Control>(){control3, control4}; 

foreach (var toHide in typeAControls) 
{ 
    toHide.Visible = false; 
} 

foreach (var toHide in typeBControls) 
{ 
    toHide.Visible = true; 
} 
+0

好的,很有用! 設置控件時,我可以設置一個全局控件,還是必須在每個函數內定義它們?我仍然在學習如何操作名稱空間和類。另外,新控制列表中的控件是我的面板的AccessibleNames? –

+0

不,這些是參考控件本身的類成員。我想我可能會建議你不要在課堂上走得太遠。像這樣的技術只是偶爾使用。要查看我使用的名稱,請在「Panel1.Visible = false;」中單擊「Panel1」一詞然後右鍵單擊並選擇「轉到定義」。 –