程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#雙緩沖完成辦法(可避免閃屏)

C#雙緩沖完成辦法(可避免閃屏)

編輯:C#入門知識

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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved