Arrays 如何从vb.net中的不同按钮访问表单数组?

Arrays 如何从vb.net中的不同按钮访问表单数组?,arrays,vb.net,Arrays,Vb.net,我正在学习vb.net,遇到了一个问题。代码的简短版本 我有这样的结构: public class form234 public array1() as string public sub button1 Dim i As Integer Dim array1(Len(text)) As String For i = 1 To 3 array1(i) = "x"

我正在学习vb.net,遇到了一个问题。代码的简短版本

我有这样的结构:

public class form234

public array1() as string

public sub button1

    Dim i As Integer
            Dim array1(Len(text)) As String
            For i = 1 To 3
                array1(i) = "x"
                TextBox2.Text = TextBox2.Text & array1(i) & " "
            Next
当我把一个msgbox放在这里时,我得到了数组的内容

public sub button2
当我把一个msgbox放在这里时,我得到一个错误,数组1是“无”


为什么??如何在sub button 2中使用sub button 1的数组值?

您的问题是,您在public sub button 1中第二次声明了数组1

如果你真的想使用你宣布公开的那个,你必须给他一个尺寸,你可以在他的第一次声明中做的事情

否则,替代解决方案可以是:

    Dim i As Integer
    
    Array.Resize(array1, Len(Text))
    For i = 1 To 3
        array1(i) = "x"
        TextBox2.Text = TextBox2.Text & array1(i) & " "
    Next
我会这样写:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ReDim array1(Text.Length)
    For i As Integer = 0 To array1.Length - 1
        array1(i) = "x"
        TextBox2.Text = String.Join(" ", array1)
    Next
End Sub

子按钮1
中,您声明了另一个名为“array1”的数组。它与类中声明的“array1”不是同一个变量。请谷歌“vb.net变量范围”了解更多信息。