本人笔记本是win10系统,分辨率是2880*1800,缩放200%。
遇到一个奇怪的问题,在这个设置下使用DataGridView会有显示问题,拖动列的时候会重影,显示的也很奇怪。
试了一下双缓存,问题就解决了。
代码如下:
public Form1()
{
//设置窗体的双缓冲
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
InitializeComponent();
//利用反射设置DataGridView的双缓冲
Type dgvType = this.dataGridView1.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(this.dataGridView1, true, null);
}
但是这种设置下好像还有很多其他控件的显示问题,挺烦的,有没有人也遇到过?
网友评论