2013-08-29 18 views
2

是否可以將一組控件聚集在一起,並且能夠將其設置爲可見,而不必執行每個單獨的控件的.visible屬性?我知道它並沒有傷害任何東西,但希望保持它看起來整潔,而不是聚集在一個頁面中充滿.visible控制調用的函數。用一行代碼設置一組控件?

回答

1

只需將您的控件分組在List(Of Control)或數組中,並使用ForEach-方法或簡單的For Each -loop設置Visible屬性。

例如爲:

Dim toToggle = {OkButton, CancelButton, ControlPanel, SelectionComboBox} 
For Each ctrl in toToggle 
    ctrl.Visible = False 
Next 

Dim toToggle = {OkButton, CancelButton, ControlPanel}.ToList() 
toToggle.ForEach(Sub(c) c.Visible = False) 
0

我喜歡Dominic的解決方案。另一種方法(這取決於你的WinForm的佈局方式)將組控件到面板:

For Each ctrl as Control in MyPanel.Controls 
    c.Visible = False 
Next 

真的所有這些方法確實是讓您無需創建一個新的名單,但也許這會更好,因此您可以精確選擇要添加的控件。

+0

如果所有控件位於同一'Panel'上,則可以隱藏Panel而不是設置每個控件的可見性。 – sloth

相關問題