是否可以将一组控件聚集在一起,并能够用一行将其设置为可见,而不必执行每个单独控件的.visible属性?我知道这不会有任何影响,但我希望它看起来整洁,而不是把一个函数和一个充满.visible控件调用的页面混为一谈。
只需在List(Of Control)
或数组中对控件进行分组,并使用ForEach
-方法或简单的For Each
-循环设置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)
我喜欢Dominic的解决方案。另一种方法(这取决于Winform的布局)是将控件分组到一个面板中:
For Each ctrl as Control in MyPanel.Controls
c.Visible = False
Next
实际上,所有这些方法都可以让你不必创建一个新的列表,但也许这样会更好,这样你就可以准确地选择要添加的控件。