利用winform开发时,可能都会遇到一个问题,就是在panel中不停的重绘图形时,图形会不停的闪烁。要解决这个办法只需要开启双缓冲即可,由于初学c#,理解的不是很深,所以不多做解释。以下代码亲测可以解决这个问题:

首先创建一个自己的panel类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Test
{
    //开启双缓冲
    class MyPanel:Panel
    {
        public MyPanel()
        {
            SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true);
        }
    }
}

原文地址:http://bbs.delit.cn/thread-677-1-1.html

转载请注明出处;

撰写人:度量科技http://www.delit.cn