本文實(shí)例講述了C#雙緩沖實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
// 該調(diào)用是 Windows.Forms 窗體設(shè)計器所必需的。 InitializeComponent(); // TODO: 在 InitComponent 調(diào)用后添加任何初始化 this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);//開啟雙緩沖this.SetStyle(ControlStyles.DoubleBuffer,true); this.SetStyle(ControlStyles.UserPaint,true); this.SetStyle(ControlStyles.ResizeRedraw,true);
1、在內(nèi)存中建立一塊“虛擬畫布”:
Bitmap bmp = new Bitmap(600, 600);
2、獲取這塊內(nèi)存畫布的Graphics引用:
Graphics g = Graphics.FromImage(bmp);
3、在這塊內(nèi)存畫布上繪圖:
g.FillEllipse(brush, i * 10, j * 10, 10, 10);
4、將內(nèi)存畫布畫到窗口中
this.CreateGraphics().DrawImage(bmp, 0, 0);
還有的方式
在構(gòu)造函數(shù)中加如下代碼
代碼一:
SetStyle(ControlStyles.UserPaint, true);SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩沖
代碼二:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); this.UpdateStyles();
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》、《C#常見控件用法教程》及《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》
希望本文所述對大家C#程序設(shè)計有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選