2012-10-22 229 views
1

目前爲止我看到的清除圖片盒的代碼都沒有達到我所需要的。 我想清除一個picturebox,這樣我就可以在「空白」背景上繪製新的東西。VB.NET:清除圖片盒

這裏是我的代碼:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    PictureBoxClear(Me.PictureBox1) 

    m_i = m_i + 1 
    Dim nPT As New Point(0, 0) 
    Me.ImageList1.Draw(Me.PictureBox1.CreateGraphics, nPT, m_i) 

End Sub 
Public Sub PictureBoxClear(ByRef pb As PictureBox) 

    pb.Image = Nothing 

End Sub 

.Image = Nothing 

似乎完全刪除圖像,這樣我真的不能畫的東西在它之後。 我只是想清除我的picturebox,然後準備再次獲得一些繪圖。

謝謝!

+0

通過「空白」,你的意思是透明的? – K3N

+0

PictureBox並不是要繪製的。您應該繪製圖像,然後在Paint事件中更新PictureBox。看到這個:http://www.bobpowell.net/picturebox.htm –

回答

1

你可以嘗試用全新的形象代替它:

pb.Image = New Bitmap(pb.ClientSize.Width, pb.ClientSize.Height) 
+0

不幸的是,這並不適合我。當我之後在它上面繪製一些東西時,圖片框保持空白。 – tmighty

+0

你是否曾經持有對'pb.Image'舊值的引用? – nneonneo

+0

不,這是所有我使用的代碼:公共類Form1中 私人M_I作爲整數 私人小組的button1_Click(BYVAL發件人爲System.Object的,BYVALË作爲System.EventArgs)把手Button1.Click PictureBoxClear( Me.PictureBox1) M_I = M_I + 1 昏暗NPT作爲新點(0,0) Me.ImageList1.Draw(Me.PictureBox1.CreateGraphics,NPT,M_I) 結束子 公用Sub PictureBoxClear(PB的ByRef As PictureBox) End Sub 結束類 – tmighty