矩形数组

时间:2014-05-06 23:09:14

标签: arrays vb.net rectangles

我很难从阵列中显示矩形。 这是代码:

Dim recs(9) As PowerPacks.RectangleShape
Dim canvas As New Microsoft.VisualBasic.PowerPacks.ShapeContainer

   Private Sub Spi_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim sz As Integer = 350
    canvas.Parent = Me

    recs(0).Height = sz
    recs(0).Width = sz
    recs(0).Left = 20
    recs(0).Top = 20
    recs(0).Parent = canvas
    recs(0).FillColor = Color.Green
    recs(0).FillStyle = PowerPacks.FillStyle.Solid

End Sub

没有语法或运行时错误。我无法弄清楚发生了什么。 如果我尝试单独制作一个矩形,它会显示它但是当我制作它们的数组时,它什么也没有显示。如果我调试它,当要执行的下一个语句是使用该数组的任何代码行时,它只是忽略它并继续前进,这意味着它将忽略所有使用" recs(0)& #34 ;.为什么??? 任何帮助表示赞赏。感谢。

编辑:好的伙计们。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如前所述,您的问题是,数组未初始化,并且由于您无法使用New初始化数组,因此您必须初始化每个元素或切换到其他集合,喜欢List:

Dim recs(9) As PowerPacks.RectangleShape
Dim canvas As New Microsoft.VisualBasic.PowerPacks.ShapeContainer

Private Sub Spi_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim sz As Integer = 350
    canvas.Parent = Me
    recs(0) = New PowerPacks.RectangleShape(20, 20, sz, sz)
    recs(0).Parent = canvas
    recs(0).FillColor = Color.Green
    recs(0).FillStyle = PowerPacks.FillStyle.Solid
End Sub


Dim recs As New List(Of PowerPacks.RectangleShape)