要用GreateGrahpics函數(shù),比如要向 Panel1,填充顏色:
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供東海網(wǎng)站建設(shè)、東海做網(wǎng)站、東海網(wǎng)站設(shè)計(jì)、東海網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、東海企業(yè)網(wǎng)站模板建站服務(wù),10余年東海做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
Dim g As Graphic=Panel1.CreateGraphics
Dim b as New Brush(Color.Blue)
g.FillRectangle(b,Panel1)
寫的比較粗,意思就是這樣的,你可以邊看幫助邊細(xì)細(xì)完成
獲取控件的Graphic對(duì)象,繪圖方法都集中在了該對(duì)像中了。
1. 通過(guò)控件GreateGrapic方法獲得
2. Paint 事件參數(shù)e中也有此對(duì)象
相應(yīng)的圖形方法是DrawImage,vb.net中沒有自動(dòng)重繪功能,圖形不是持久的,所以應(yīng)當(dāng)在Paint事件中繪圖。
Private?Sub?PictureBox2_Paint(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?PictureBox2.Paint
e.Graphics.SetClip(e.ClipRectangle)
e.Graphics.DrawImage(PictureBox1.Image,?New?Rectangle(0,?0,?PictureBox1.ClientSize.Width,?PictureBox1.ClientSize.Height),?New?Rectangle(5,?5,?100,?100),?GraphicsUnit.Pixel)
End?Sub
大體看一下這個(gè)類里的事件都是私有的(Private) 如果想在窗體中使用這個(gè)事件就把類中事件前的Private關(guān)鍵字改成Public如:
Public Sub PicCurve_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicCurve.Paint
在窗體中調(diào)用的方法就是實(shí)例化類就行了。因?yàn)檫@個(gè)類有NEW所以在實(shí)例化的時(shí)候要賦參數(shù)
代碼如下數(shù)值是我臨時(shí)寫的。調(diào)用的時(shí)候你根據(jù)實(shí)際情況改一下就行。參數(shù)PictureBox1是在窗體上添加的PictureBox控件。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim AA() As Single = {0.1, 1.2, 1.5, 1.6, 1.8}
Dim clsPaint As New bbbb(PictureBox1, AA, "PictureBox_1")
clsPaint.PicCurve_Paint(Me, Nothing)
End Sub
Paint事件中寫好代碼,然后按鈕事件中,這句就行。
picturebox1.Refresh