解决winform中的panel重绘闪烁问题

利用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);  
        }  
    }  
}  
然后重新生成解决方法,就会发现工具箱中多了一个自己写的panel控件,在画图形的时候,画在自己的panel上就可以了。由于自己的panel继承自Panel类,所以Panel中的方法都可以使用。

猜你喜欢

转载自blog.csdn.net/hht006158/article/details/80346594
今日推荐