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()

このコードを実行すると、temp 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

これは古いことは知っていますが...ここでエラーが発生しました:

temp.Left = StaticPictureBox.Left - 20 

次のようにする必要があります。

temp.Left = StaticPictureBox.right + 20

また:

temp.Left = StaticPictureBox.right

それが役に立ったことを願っています。

于 2013-04-17T04:35:46.073 に答える