C# Panel控件闪烁问题

1. 在添加有panel的窗体(panel的控件名称为:panel1)中添加以下类:

        //开启双缓冲
        class MyPanel : Panel
        {
            public MyPanel()
            {
                SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true);
            }
        }

2. 在该窗体(假设namespace名字为:DrHist1;窗体名为:Grey_ScaleMapForm)的Grey_ScaleMapForm.Designer.cs中,将代码

this.panel1 = new System.Windows.Forms.Panel();

替换成:

this.panel1 = new DrHist1.Grey_ScaleMapForm.MyPanel();

即可。

posted on 2017-04-11 10:52  小圈子  阅读(2254)  评论(0编辑  收藏  举报

导航