【C#】panel重绘闪烁问题



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

首先创建一个MyPanel类:

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中的方法都可以使用。


转载:http://blog.csdn.net/yin554393109/article/details/38312197

展开阅读全文

没有更多推荐了,返回首页