VB.NET畫圖是不能設(shè)置雙緩沖的,雙緩沖是指窗體,從來沒說是針對控件。
成都網(wǎng)站建設(shè)公司更懂你!成都創(chuàng)新互聯(lián)公司只做搜索引擎喜歡的網(wǎng)站!成都網(wǎng)站制作前臺采用搜索引擎認(rèn)可的DIV+CSS架構(gòu),全站HTML靜態(tài),H5建站+CSS3網(wǎng)站,提供:網(wǎng)站建設(shè),微信開發(fā),重慶小程序開發(fā),商城網(wǎng)站建設(shè),重慶APP開發(fā)公司,域名申請,服務(wù)器租售,網(wǎng)站代托管運(yùn)營,微信公眾號代托管運(yùn)營。
不用graphic.clear清理重畫就不會(huì)閃爍。你可以先把容器刪了再重新建立一個(gè)再去畫。
簡單舉例:
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ù)畫
不用PictureBoxTest.Image屬性,直接把圖形繪制到PictureBoxTest上面就可以了。
Dim?button?As?Integer?=?0
Private?Sub?Button1_Click(ByVal?sender?As?Object,?ByVal?e?As?EventArgs)?_
Handles?Button1.Click
Using?g?As?Graphics?=?Graphics.FromHwnd(PictureBoxTest.Handle)
Dim?penRed?As?Pen?=?New?Pen(Color.Red,?1)?????'定義紅色畫筆??
Dim?penblue?As?Pen?=?New?Pen(Color.Blue,?1)?'定義藍(lán)色畫筆?
If?button?=?0?Then
g.DrawLine(penRed,?0,?0,?100,?100)
button?=?1
ElseIf?button?=?1?Then
g.DrawLine(penblue,?100,?100,?200,?200)
button?=?0
End?If
End?Using
End?Sub
Private Function isopen() As AutoCAD.AcadApplication
Try
dim CADapp_temp AutoCAD.AcadApplication = GetObject(, "AutoCAD.Application")
return CADapp_temp
Catch ex As Exception
Return Nothing
End Try
End Function
'調(diào)用上面的函數(shù),如果為nothing表示沒有打開,否則打開并返回對象