我看控制按钮在2008年VB阵列的性质(表达)。我一直在MS样使得看示例代码的白皮书,它我的头旋相比,现在在做VB6! (是的,我是一个业余爱好者,所以请原谅穷人编码,可能什么是这里经历了一个简单的问题...)

如果我正确地阅读它,现在就这样做了正确的方法是创建一个单独的类,创建构造函数等为类,那么在项目实例呢?

我试图使用一个相对简单的阵列是这样的:

    'Create buttons
    'Dim btn(30) As Button
    'For i As Integer = 0 To 29
    '    btn(i) = New Button()
    '    btn(i).Width = 100
    '    btn(i).Height = 30
    '    btn(i).Text = i + 1

    '    btn(0).Left = 120
    '    btn(0).Top = 100

    '    If i >= 1 And i <= 14 Then
    '        btn(i).Left = 120
    '        btn(i).Top = btn(0).Top + (i * 30)
    '    End If

    '    If i = 15 Then
    '        btn(15).Left = 235
    '        btn(15).Top = 100
    '    End If

    '    If i >= 16 And i <= 29 Then
    '        btn(i).Left = 235
    '        btn(i).Top = btn(0).Top + ((i Mod 15) * 30)
    '    End If
    '    Me.Controls.Add(btn(i))

    'Next

如果我把它改成load方法,然后我不能从另一个按钮访问它,因为我认为这是一个私人的子程序时,该片段是在负载子程序?有一个简单的方法,只是有这样的代码,使得BTN(ⅰ)阵列从形式等功能访问?

有帮助吗?

解决方案

您需要使在类中的按钮阵列的字段或属性,而不是在负载方法。

最简单方法是只需移动Dim btn(30) As Button声明了load方法的进级(贴在上面的加载方法行),你就大功告成了。

有人可能会争辩编码标准和东西 - 但我认为这会让你的工作( - :

好吧,除了上述之外,你的评论,足够的代码来说明什么,我试图解释。此代码将编译和运行 - 从表单类中的两种方法可访问按钮阵列:

Public Class Form1

    Dim btn(30) As Button

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To 29
            btn(i) = New Button
        Next
    End Sub

    Private Sub DoSomethingElse()
        For i As Integer = 0 To 29
            btn(i).Text = String.Format("{0}", i + 1)
        Next
    End Sub

End Class
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top