Vb.net 二维标签数组
下面给出了一个nullreference错误。如何在避免错误的同时完成这个简单的任务 谢谢 编辑:L1、L2等是我表格中的标签Vb.net 二维标签数组,vb.net,Vb.net,下面给出了一个nullreference错误。如何在避免错误的同时完成这个简单的任务 谢谢 编辑:L1、L2等是我表格中的标签 Dim labelArray(,) As Label = {{L1, L2, L3, L4}, {L5, L6, L7, L8}, {L9, L10, L11, L12}, {L13, L14, L15, L16}} private sub button_click(stuff that goes in here) labelArray(zeroPoint.X, z
Dim labelArray(,) As Label = {{L1, L2, L3, L4}, {L5, L6, L7, L8}, {L9, L10, L11, L12}, {L13, L14, L15, L16}}
private sub button_click(stuff that goes in here)
labelArray(zeroPoint.X, zeroPoint.Y).BackColor = Color.LimeGreen
end sub
编辑:我通过在表单加载方法中执行以下操作来实现它
labelArray(0, 0) = Me.L1
labelArray(0, 1) = Me.L2
labelArray(0, 2) = Me.L3
labelArray(0, 3) = Me.L4
labelArray(1, 0) = Me.L5
labelArray(1, 1) = Me.L6
labelArray(1, 2) = Me.L7
labelArray(1, 3) = Me.L8
labelArray(2, 0) = Me.L9
labelArray(2, 1) = Me.L10
labelArray(2, 2) = Me.L11
labelArray(2, 3) = Me.L12
labelArray(3, 0) = Me.L13
labelArray(3, 1) = Me.L14
labelArray(3, 2) = Me.L15
labelArray(3, 3) = Me.L16
试试这个
Dim labelArray(,)
Private Sub button_click(stuff that goes in here)
labelArray = New Label(,) {{l1, l2, l3, l4}, {l5, l6, l7, l8}, {l9, l10, l11, l12}, {l13, l14, l15, l16}}
labelArray(zeroPoint.X, zeroPoint.Y).BackColor = Color.LimeGreen
End Sub
标签数组初始值设定项在InitializeComponent()方法之前运行,所有标签都在该方法中实例化。您实际上是在向数组添加一堆空引用 将数组声明保留在原处,但将赋值代码移到表单构造函数的末尾,我认为这将解决问题
除此之外,还需要检查zeropoint.X和zeropoint.Y结果是否为有效索引。请记住,默认情况下,vb.net索引的工作方式与C#或VB6略有不同。我仍然会遇到以下错误“对象引用未设置为对象的实例”@rage VB6默认为一个索引,而不是零索引。vb.net默认为零索引,就像C#。在c#中声明一个新数组时(即:
newstring[6]
),该代码段中的6表示数组中的项数。对于VB.Net中的“等效”新字符串(6)
,6是最后一个索引,总共有7项。