我用双反冲,可是问题来了, 我在调整列宽的时候,不像自带的DataGridView那样,中间没有了黑虚线,一点不友好。要是表达不清楚的话,你复制代码,把这个控件拖到界面,在运行的情况下调列宽试试,很明显的。代码如下。
namespace ControlsTest
{
public class TestDataGridView : DataGridView
{
public TestDataGridView()
{
SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
} protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//执行代码
} protected override void OnCellPainting(DataGridViewCellPaintingEventArgs e)
{
base.OnCellPainting(e);
//执行代码
}
}
}
希望高手指点一下,谢谢了。 如果去掉ControlStyles.OptimizedDoubleBuffer 就好了,可是我绘图,在调整窗体大小的时候会特别的闪,所以必须双反冲。
namespace ControlsTest
{
public class TestDataGridView : DataGridView
{
public TestDataGridView()
{
SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
} protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//执行代码
} protected override void OnCellPainting(DataGridViewCellPaintingEventArgs e)
{
base.OnCellPainting(e);
//执行代码
}
}
}
希望高手指点一下,谢谢了。 如果去掉ControlStyles.OptimizedDoubleBuffer 就好了,可是我绘图,在调整窗体大小的时候会特别的闪,所以必须双反冲。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货