欢迎,我怎样才能将多个动作作为变量?
喜欢
checkbox1.enabled = false
checkbox2.enabled = false
checkbox3.enabled = false
我会在许多对象代码中这样写
有没有办法把它们都放在变量中?
编辑:
我也可以使用潜艇,更容易。
欢迎,我怎样才能将多个动作作为变量?
喜欢
checkbox1.enabled = false
checkbox2.enabled = false
checkbox3.enabled = false
我会在许多对象代码中这样写
有没有办法把它们都放在变量中?
编辑:
我也可以使用潜艇,更容易。
如果您使用您在问题中使用的相同命名法,这应该有效:
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
祝你好运。
public bool EnableChecks
{
set
{
checkbox1.Enabled = checkbox2.Enabled = checkbox3.Enabled = value;
}
}
然后您只需将 EnableChecks 设置为 true 或 false。这是你要求的吗?
编辑:我个人不会这样做,因为我觉得 getter 和 setter 不应该用于此。会创建一种启用/禁用它们的方法吗?
public bool EnableChecks(bool enabled)
{
checkbox1.Enabled = checkbox2.Enabled = checkbox3.Enabled = enabled;
}