欢迎, 我怎样才能将多个动作作为变量?
像
checkbox1.enabled = false
checkbox2.enabled = false
checkbox3.enabled = false
我将在许多对象代码
中这样写有没有办法把所有这些都变成变量?
编辑:
我也可以使用潜艇,更容易。
答案 0 :(得分:1)
如果您使用与您的问题中使用的相同的命名法,这应该有效:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
For i As Integer = 1 To 10
Dim chk() As Control = Me.Controls.Find("CheckBox" & i.ToString(), False)
If chk(0) IsNot Nothing Then
DirectCast(chk(0), CheckBox).Checked = Not DirectCast(chk(0), CheckBox).Checked
End If
Next
End Sub
当然,这只是一个切换复选框的示例。
修改强>:
''' <summary>
''' Returns true if all of the checkboxes are checked, false if at least one of them is unchecked.
''' </summary>
Function AllChecked() As Boolean
For i As Integer = 1 To 10
Dim chk() As Control = Me.Controls.Find("checkbox" & i.ToString(), False)
If chk(0) IsNot Nothing Then
If Not DirectCast(chk(0), CheckBox).Checked Then
Return False 'Not all of the checkboxes are checked
End If
End If
Next
Return True 'All of the found checkboxes were checked.
End Function
祝你好运。
答案 1 :(得分:0)
public bool EnableChecks
{
set
{
checkbox1.Enabled = checkbox2.Enabled = checkbox3.Enabled = value;
}
}
然后您只需将EnableChecks设置为true或false。这是你要的吗?
编辑:我个人不会这样做因为我觉得不应该使用吸气剂和固定剂。创建一个启用/禁用它们的方法会改为吗? public bool EnableChecks(bool enabled)
{
checkbox1.Enabled = checkbox2.Enabled = checkbox3.Enabled = enabled;
}