本文實例講述了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#相關內容感興趣的讀者可查看本站專題:《C#面向對象程序設計入門教程》、《C#常見控件用法教程》及《C#數據結構與算法教程》
希望本文所述對大家C#程序設計有所幫助。
新聞熱點
疑難解答