2

是否可以将一组控件聚集在一起并能够通过一行将其设置为可见,而不必执行每个单独控件的 .visible 属性?我知道它不会伤害任何东西,但希望保持它看起来整洁,而不是用一个充满 .visible 控制调用的页面来聚集一个函数。

4

2 回答 2

2

只需将控件分组到一个List(Of Control)或一个数组中,然后使用- 方法或简单的-loop设置Visible属性。ForEachFor Each

例如:

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)
于 2013-08-29T14:30:03.620 回答
0

我喜欢多米尼克的解决方案。另一种方法(这取决于您的 Winform 的布局方式)是将控件分组到一个面板中:

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

实际上,这种方法所做的只是让您不必创建一个新列表,但也许这样会更好,这样您就可以精确地选择要添加的控件。

于 2013-08-29T14:45:05.643 回答