vb.net繪制二的簡(jiǎn)單介紹

VB.net繪圖具體如何設(shè)置雙緩沖

VB.NET畫圖是不能設(shè)置雙緩沖的,雙緩沖是指窗體,從來沒說是針對(duì)控件。

創(chuàng)新互聯(lián)是一家專業(yè)提供沙縣企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為沙縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

不用graphic.clear清理重畫就不會(huì)閃爍。你可以先把容器刪了再重新建立一個(gè)再去畫。

簡(jiǎn)單舉例:

Graphics g;

Pen p;

Panel pl;

構(gòu)造函數(shù)初始化:

p=new Pen(Color.Red,2);

pl=panel1;

造成閃爍的畫法:

g=pl.CreateGraphics();

g.Clear(SystemColor.ButtonFace);

//.....畫新的

不會(huì)閃爍的辦法:

this.Controls.ReMoveAt(panel1);

pl=new Panel();

pl.Name="panel1";

//....創(chuàng)建容器控件

this.Controls.Add(pl);

//繼續(xù)畫

vb.net繪圖問題

代碼:

Public?Class?Form1

'*********************************************************************???

'作者:章魚哥,QQ:3107073263?群:309816713???????

'如有疑問或好的建議請(qǐng)聯(lián)系我,大家一起進(jìn)步?????

'*********************************************************************?????

'繪制圓角矩形函數(shù)

Private?Function?GetRoundedRectPath(ByVal?rect?As?Rectangle,?ByVal?radius?As?Integer)?As?System.Drawing.Drawing2D.GraphicsPath

rect.Offset(-1,?-1)

Dim?RoundRect?As?New?Rectangle(rect.Location,?New?Size(radius?-?1,?radius?-?1))

Dim?path?As?New?System.Drawing.Drawing2D.GraphicsPath

path.AddArc(RoundRect,?180,?90)?????'左上角

RoundRect.X?=?rect.Right?-?radius???'右上角

path.AddArc(RoundRect,?270,?90)

RoundRect.Y?=?rect.Bottom?-?radius??'右下角

path.AddArc(RoundRect,?0,?90)

RoundRect.X?=?rect.Left?????????????'左下角

path.AddArc(RoundRect,?90,?90)

path.CloseFigure()

Return?path

End?Function

'繪制矩形

Private?Sub?DrawingRect()

Dim?g?As?Graphics?=?Me.CreateGraphics

Dim?Pen?As?New?Pen(Brushes.DarkRed,?2)

Dim?Hei?As?Integer?=?Me.Height

Dim?Wid?As?Integer?=?Me.Width

'矩形的位置和長(zhǎng)寬隨著窗體的變化而改變

Dim?Rec?As?New?Rectangle(Int(Wid?/?5),?Int(Hei?/?5),?Int(Wid?/?2),?Int(Hei?/?2))

'??g.DrawRectangle(Pen,?Rec)

'清楚現(xiàn)有的矩形

g.Clear(Me.BackColor)

g.DrawPath(Pen,?GetRoundedRectPath(Rec,?30))

End?Sub

Private?Sub?Form1_Paint(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?MyBase.Paint

DrawingRect()

End?Sub

Private?Sub?Form1_SizeChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.SizeChanged

Me.Invalidate()?'此函數(shù)可引發(fā)Paint事件

End?Sub

End?Class

效果截圖:

原窗口:

縮小后:

VB.net中如何畫圖?

VB.net與VB不同。

VB.net已經(jīng)有專門繪圖的類。

可以定義筆刷然后用Drawing類中的方法繪制。

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

文章名稱:vb.net繪制二的簡(jiǎn)單介紹
標(biāo)題路徑:http://muchs.cn/article22/phijcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司云服務(wù)器、手機(jī)網(wǎng)站建設(shè)微信小程序、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作