我是编码的新手,对于一个项目,我需要写很多这些“块”,通常是字母和数字,然后是用于启用或禁用它们的语句:
a1.Enabled = True
a2.Enabled = True
a3.Enabled = True
a4.Enabled = True
a5.Enabled = True
a6.Enabled = True
a7.Enabled = True
a8.Enabled = True
a9.Enabled = True
我一直在寻找任何想法或帮助,但似乎没有任何效果,我想尝试做的只是一行。
ablock.Enable = False
或类似的东西。
谢谢您的帮助。
答案 0 :(得分:2)
您想要一个定义为类成员的数组,如下所示:
Private aBlock() As Button
然后在较早的某个地方,当页面或表单加载时以及在实际创建控件之后,您需要这样的代码:
aBlock = {a1, a2, a3, a4, a5, a6, a7, a8, a9}
首先,表单设计器很难使用数组声明控件,但是您至少可以将它们全部与表单/页面加载项放在同一集合中。
稍后,您将可以运行以下代码:
For Each btn As Button In aBlock
btn.Enabled = True
Next
或者,如果这些按钮已经属于某个常见的容器,例如Panel或GroupBox,并且假定使用WinForms,则可以执行以下操作:
For Each btn As Button In Panel1.Controls.OfType(Of Button)()
btn.Enabled = True
Next
答案 1 :(得分:1)
Coehoorn是最好的方法,但是作为初学者,您可能想要最简单的方法,所以我将它提供给您。
您可以让Sub代替您的位置,这样就不必一直写所有按钮的名称。
这是您可以做到的方式:
Private Sub SetABlockEnabled(ByVal isEnabled As Boolean)
a1.Enabled = isEnabled
a2.Enabled = isEnabled
a3.Enabled = isEnabled
a4.Enabled = isEnabled
a5.Enabled = isEnabled
a6.Enabled = isEnabled
a7.Enabled = isEnabled
a8.Enabled = isEnabled
a9.Enabled = isEnabled
End Sub
现在您可以一次管理整个区块:
SetABlockEnabled(True)