多个动作是变量?

时间:2013-01-23 17:19:58

标签: vb.net

欢迎, 我怎样才能将多个动作作为变量?

checkbox1.enabled = false
checkbox2.enabled = false
checkbox3.enabled = false

我将在许多对象代码

中这样写

有没有办法把所有这些都变成变量?

编辑:

我也可以使用潜艇,更容易。

2 个答案:

答案 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;
    }