我有一个TableLayoutPanel,我可以在其中使用布局中的控件进行拖放操作。不幸的是,控件在drop操作之后会闪烁。我在所有的控件和其他很多东西上都尝试了DoubleBuffered=true。我还尝试了这个解决方案:How to fix the flickering in User controls。实际上,它与前面提到的CreateParams一起工作得很好。但只有在我调整窗体大小之前。似乎windows在调整大小后忘记了WS_EX_COMPOSIET标志。它只出现在空中飞行主题上。如果没有aero,它会在调整大小后保留CreateParams的设置。
有没有办法防止空中主题打开时出现闪烁?
发布于 2013-07-11 05:27:29
在窗体调整大小事件(ResizeEnd上的onResizeBegin&)上,使用以下代码:
protected override void OnResizeBegin(EventArgs e)
{
SuspendLayout();
base.OnResizeBegin(e);
}
protected override void OnResizeEnd(EventArgs e)
{
ResumeLayout();
base.OnResizeEnd(e);
}https://stackoverflow.com/questions/10716592
复制相似问题