當(dāng)然是全部重畫(huà)。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的龍井網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
層只不過(guò)是制圖軟件弄出來(lái)的一個(gè)方便的東西而已。
就像你畫(huà)畫(huà),畫(huà)上去如果你要擦掉當(dāng)然是擦到底色咯。(當(dāng)然GDI+也可以像你畫(huà)畫(huà)一樣只擦一部分)
GDI+時(shí)鐘我寫(xiě)過(guò)一個(gè)VB6的。代碼詳見(jiàn)我博客。地址顯然百度不讓貼上= =。所以你可以看下我的資料。
你可以模擬層,就是把所有繪制信息都保存起來(lái)。你的流程應(yīng)當(dāng)是:
如果要繪制了,更新繪制信息(可以是數(shù)組啥的。),交給一個(gè)Draw過(guò)程
Draw過(guò)程:根據(jù)繪制信息,全部繪制。
By vIstaswx ,before junior school graduation exam.
繼承(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ě)在Paint事件中,如
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim g As Graphics = Me.CreateGraphics
g.DrawLine(Pens.Red, 100, 100, 200, 100)
End Sub
'方法二:在 PictureBox1上顯示圖像----圖畫(huà)在Bitmap
PictureBox1.Image = Nothing
Dim wid As Integer = PictureBox1.ClientSize.Width
Dim hgt As Integer = PictureBox1.ClientSize.Height
Dim bm As New Bitmap(wid, hgt)
Dim g As Graphics = Graphics.FromImage(bm)
'畫(huà)圖代碼
'畫(huà)圖代碼
PictureBox1.Image = bm
PictureBox1.Refresh()
g.Dispose()
如果是簡(jiǎn)單的移動(dòng),先把圖形繪制到大小和PictureBox的Bitmap上,然后再繪制到PictureBox就行。
不過(guò)在VB.NET中用GDI繪制最好用BufferedGraphics圖形緩沖區(qū),速度馬馬虎虎(VB就這樣了),但是不閃爍,不存在背景擦除的問(wèn)題。