在vb.net中以编程方式将多个图片框添加到表单中

时间:2014-01-16 12:41:51

标签: vb.net collections visual-studio-2013 picturebox

所以我编写了一小段代码,将6个图片框添加到随机位置的表单中。它将每个图片框添加到一个集合中,然后遍历该集合并将它们添加到表单控件中。奇怪的问题是代码只有在我在调试模式下逐行执行时才有效。如果我只是编译并运行代码,那么只有1个图片框被添加到表单中,但如果我逐行遍历代码,那么所有6个图片框都会成功地添加到随机位置的表单中。谁能告诉我为什么会发生这种情况?这让我很疯狂。代码如下:

    For i As Integer = 0 To 5
        Dim pic As New PictureBox
        Dim rnd As New Random
        pic.Location = New Point(rnd.Next(200, 300), rnd.Next(200, 300))
        pic.Size = New Size(5, 5)
        pic.BackColor = Color.White
        pic.Visible = True
        pic.BringToFront()
        _picCollection.Add(pic)
    Next

    For Each item As PictureBox In _picCollection
        Controls.Add(item)
    Next

    ShowDialog()

以实际正常运作的方式向公众提出如何更好地做到这一点的建议。

1 个答案:

答案 0 :(得分:1)

必须在循环之外声明RND对象。谢谢tinstaafl!