题
我看控制按钮在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
不隶属于 StackOverflow