Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中是否有通过循环更改布尔变量的选项_Vb.net - Fatal编程技术网

在vb.net中是否有通过循环更改布尔变量的选项

在vb.net中是否有通过循环更改布尔变量的选项,vb.net,Vb.net,我试图在vb.net中更改for循环中的不同值。但是,我找不到如何更改编号的布尔变量 Dim txt1 As Boolean = False Dim txt2 As Boolean = False i = i + 1 If i < 9 Then 'I tried to do: Me.Controls("txt" & i.ToString) = True txt(

我试图在vb.net中更改for循环中的不同值。但是,我找不到如何更改编号的布尔变量

Dim txt1 As Boolean = False
Dim txt2 As Boolean = False
 i = i + 1
            If i < 9 Then
                'I tried to do:
                Me.Controls("txt" & i.ToString) = True
                txt(i) = True
            End If
Dim txt1为布尔值=False
尺寸txt2为布尔值=假
i=i+1
如果我<9那么
“我试着做:
Me.Controls(“txt”&i.ToString)=真
txt(i)=真
如果结束

如何更改已编号的布尔变量?最有效的方法是什么?

访问布尔变量的正确方法是在数组或列表中

以问题为例:

Dim bool(2) As Boolean

i = i + 1
        If i < 9 Then
            bool(i) = True
        End If
Dim bool(2)作为布尔值
i=i+1
如果我<9那么
布尔(i)=真
如果结束

我想您应该迭代
文本框控件
,然后更改
TextBox.enabled的属性

您可以尝试以下方法

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    For Each c As Control In Me.Controls
        If c.GetType.ToString() = "System.Windows.Forms.TextBox" Then
            c.Enabled = True 'You can change the TextBox Controls. Enabled to False too.
            c.Text = c.Name.ToString
        End If
    Next
End Sub

如果为当前项目启用,则Visual Studio将引导您找到需要更正的位置。控件的类型是什么?您不能有与控件同名的变量,因为控件由具有这些名称的变量引用。为什么您认为可以通过表单的
控件
集合访问
布尔
变量?它们是控制吗?通过提供控件的
名称
属性值,可以从
控件
集合访问窗体上的控件。这与变量无关。如果在设计器中添加控件,则用于引用该控件的变量与其
name
属性具有相同的名称,但这只是一种方便。它们不必相同,如果在运行时添加控件,它们也不会相同
Boolean
值不是控件,也没有
Name
属性。正确的方法是使用数组或
列表,而不是单个变量。除非使用缓慢(且丑陋)的基于反射的方法,否则无法通过动态构造的名称访问变量。可能需要将布尔值添加到
列表(布尔值)
。然后使用索引更改列表中的值。很难想象
列表(布尔值)
的实用性<代码>字典(字符串、布尔值)
会很有用。你真的应该分享更多关于你的意图的信息。