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();
即可。