1

我已经创建了一个带有 PictureBox 的表单,并希望在程序运行时在表单上动态创建另一个 PictureBox(在静态的左侧)。我写了这段代码:

Dim temp As PictureBox
temp = New PictureBox
temp.Image = StaticPictureBox.Image
temp.Visible = True
temp.Top = StaticPictureBox.Top
temp.Width = StaticPictureBox.Width
temp.Height = StaticPictureBox.Height
temp.Left = StaticPictureBox.Left - 20
temp.BringToFront()

当我运行这段代码时,我可以检测到临时 PictureBox 确实被创建了。但是,它不会呈现在表单上。它似乎在那里,但却是无形的。

有谁知道我做错了什么?

4

3 回答 3

4

您需要将其添加到表单的控件集合中:

Me.Controls.Add(temp)
于 2012-06-05T21:38:21.780 回答
0

为什么不直接删除该代码并在另一个旁边放置一个图片框并设置:

newpicturebox.visible = false

然后,每当您完成操作时,您就会对其进行更改:

newpicturebox.visible = true
于 2012-06-05T22:47:02.527 回答
0

I know this is old but... you got an error here:

temp.Left = StaticPictureBox.Left - 20 

should be:

temp.Left = StaticPictureBox.right + 20

or:

temp.Left = StaticPictureBox.right

hope it helped.

于 2013-04-17T04:35:46.073 回答