。net ?其實(shí)還是很好繪制圖形的
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的安鄉(xiāng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
你可以看下?Graphics ?類(lèi)
Dim d As New Bitmap(Me.Width, Me.Height) ?‘一個(gè)圖片吧
? Dim g As Graphics = Graphics.FromImage(d)’繪制 ?準(zhǔn)備在這個(gè)圖片是進(jìn)行
然后 ?就是你繪制的東西了
線(xiàn) 就是 ??g.DrawLine()
圓 弧度 ?就用 ?g.DrawArc(Pens.Black, New Rectangle(0, 0, 400, 200), 0, 360)
復(fù)雜的就是 ? ? ?g.DrawBezier()
等 ?如果你用的是 VS的 ?編譯 ?上面都有詳細(xì)的參數(shù)說(shuō)明
Dim?d?As?New?Bitmap(Me.Width,?Me.Height)
Dim?g?As?Graphics?=?Graphics.FromImage(d)
g.DrawArc(Pens.Black,?New?Rectangle(0,?0,?200,?200),?0,?360)
g.DrawLine(Pens.Red,?New?Point(0,?0),?New?Point(200,?200))
g.DrawLines(Pens.Green,?New?Point()?{New?Point(0,?0),?New?Point(50,?40),?New?Point(50,?80),?New?Point(90,?70),?New?Point(100,?400)})
g.DrawBezier(Pens.Yellow,?New?Point(0,?100),?New?Point(0,?0),?New?Point(200,?0),?New?Point(200,?200))
g.Dispose()
Me.BackgroundImage?=?d
繼承(Inherits)控件就可以重寫(xiě)它的屬性和方法,圖標(biāo)可以在paint中重繪,用gdi,工具主要在drawing和drawing2d中。
combobox彈出的框增加圖標(biāo)嗎?個(gè)人看法可能需要得到那個(gè)句柄,才可以重繪,但那個(gè)好像是一體的,不知道能不能弄到句柄。
textbox可以自定義高度。只是以行高度為單位,改變字體大小即可,沒(méi)必要重寫(xiě)吧。
我也自學(xué),感覺(jué)基礎(chǔ)容易學(xué),進(jìn)階資料少。循序漸進(jìn)也沒(méi)序可循,基本是在摸索。
都是想到什么問(wèn)題,就立下一個(gè)目標(biāo),然后攻破他,結(jié)果可能是嘗試幾天后,發(fā)現(xiàn)目標(biāo)超出能力范圍。
晦澀是相對(duì)的,實(shí)踐出真知,多動(dòng)手,基礎(chǔ)就好了。
項(xiàng)目中要用圖形來(lái)顯示一個(gè)閥門(mén)的開(kāi)度,以及控制閥的開(kāi)度。本來(lái)是要用什么公司買(mǎi)的控件中的餅圖之類(lèi)的實(shí)現(xiàn),不過(guò)我覺(jué)得也是麻煩,就想,還是自己畫(huà)吧。
首先添加一個(gè)TrackBar,名字是“TrackBar1”,一個(gè)label,名字是“L_A_SHANG”,一個(gè)GroupBox,名字是“GB_RIGHT”,,然后添加拉動(dòng)滾動(dòng)條時(shí)的處理函數(shù)
'上位機(jī)控制
Dim m_start As Integer
Dim RcDraw As System.Drawing.Rectangle
Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
m_start = (100 - TrackBar1.Value)
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString
GB_RIGHT.Invalidate() '重畫(huà)GB_RIGHT
End Sub
添加GB_RIGHT重畫(huà)時(shí)的處理函數(shù)
Private Sub GB_RIGHT_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GB_RIGHT.Paint
RcDraw.X = TrackBar1.Location.X - 40
RcDraw.Y = 20
RcDraw.Height = 100
RcDraw.Width = 20
e.Graphics.DrawRectangle(New Pen(Color.Blue, 5), RcDraw)
Dim i = TrackBar1.Location.X - 40
For i = TrackBar1.Location.X - 40 To TrackBar1.Location.X - 20
e.Graphics.DrawLine(New Pen(Color.Blue, 5), i, m_start + 20, i, 120)
Next
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString + "%"
End Sub
到此以及可以實(shí)現(xiàn)拉動(dòng)條的時(shí)候,圖像跟著變化,并顯示百分比。
VB.net與VB不同。
VB.net已經(jīng)有專(zhuān)門(mén)繪圖的類(lèi)。
可以定義筆刷然后用Drawing類(lèi)中的方法繪制。
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Private Sub DrawRectangle()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
標(biāo)題名稱(chēng):vb.net制作繪圖工具,vb繪圖軟件
文章路徑:http://jinyejixie.com/article34/dsecose.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站策劃、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)