是否可以将一组控件聚集在一起,并且能够用一行设置它,而不是必须执行每个单独控件的.visible属性?我知道它不会伤害任何东西,但是希望保持它看起来整洁,而不是一个充满.visible控制调用页面的功能。
答案 0 :(得分:1)
只需将控件分组到List(Of Control)
或数组中,然后使用Visible
- 方法或简单ForEach
- 循环设置For Each
属性。
e.g:
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)
答案 1 :(得分:0)
我喜欢Dominic的解决方案。另一种方法(这取决于你的Winform的布局方式)是将控件分组到一个面板中:
For Each ctrl as Control in MyPanel.Controls
c.Visible = False
Next
实际上,所有这些方法都可以让您不必创建新列表,但可能会更好,因此您可以精确选择要添加的控件。