我在我自己的Tabcontrol上使用CreateParams来摆脱它的闪烁,同时调整大小和加载。它只是一个我实现CreateParams的空类。
protected override CreateParams CreateParams
{
get
{
CreateParams cp= base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}
如果你有标签,文本框或按钮,并且在Windows 7上运行良好。但是如果你有面板,tablelayoutpanel,datagridview和Windows XP,那么它的工作效果不是很好。例如,datagridview的列没有以正确的方式出现。
如果当前系统是Windows XP,我还发现有人发布了以下内容。但是在启动窗口之前,这会在我的XP上出现窗口句柄异常。使用0x02000000只是它的加载,但正如我写的那样,列没有以正确的方式出现。
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
cp.ExStyle |= 0x00080000; // Turn on WS_EX_LAYERED (On XP System)
有没有人知道有关闪烁和集成数据网格视图的任何解决方法,而不会出现此异常?