所以我编写了一小段代码,将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()
以实际正常运作的方式向公众提出如何更好地做到这一点的建议。
答案 0 :(得分:1)
必须在循环之外声明RND对象。谢谢tinstaafl!