C#雙緩沖完成辦法(可避免閃屏)。本站提示廣大學習愛好者:(C#雙緩沖完成辦法(可避免閃屏))文章只能為提供參考,不一定能成為您想要的結果。以下是C#雙緩沖完成辦法(可避免閃屏)正文
本文實例講述了C#雙緩沖完成辦法。分享給年夜家供年夜家參考,詳細以下:
// 該挪用是 Windows.Forms 窗體設計器所必須的。 InitializeComponent(); // TODO: 在 InitComponent 挪用後添加任何初始化 this.SetStyle(ControlStyles.AllPaintingInWmPaint,true); //開啟雙緩沖 this.SetStyle(ControlStyles.DoubleBuffer,true); this.SetStyle(ControlStyles.UserPaint,true); this.SetStyle(ControlStyles.ResizeRedraw,true);
1、在內存中樹立一塊“虛擬畫布”:
Bitmap bmp = new Bitmap(600, 600);
2、獲得這塊內存畫布的Graphics援用:
Graphics g = Graphics.FromImage(bmp);
3、在這塊內存畫布上畫圖:
g.FillEllipse(brush, i * 10, j * 10, 10, 10);
4、將內存畫布畫到窗口中
this.CreateGraphics().DrawImage(bmp, 0, 0);
還有的方法
在結構函數中加以下代碼
代碼一:
SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 制止擦除配景. SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩沖
代碼二:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); this.UpdateStyles();
願望本文所述對年夜家C#法式設計有所贊助。