我有一个TableLayoutPanel,我在其中使用布局内的控件进行一些拖放操作。不幸的是,在拖放操作后控件闪烁。我在所有控件和许多其他事情上尝试了DoubleBuffered=true。我还尝试了这个解决方案:如何修复用户控件中的闪烁。实际上,它与提到的CreateParams配合得很好。但只有在我调整表单大小之前。似乎窗口在调整大小后忘记了WS_EX_COMPOSIET标志。它仅以航空主题出现。如果没有 aero,它会在调整大小后保留 CreateParams 的设置。
打开空气动力学主题时有什么方法可以防止闪烁吗?
在窗体 resize Events (onResizeBegin & on ResizeEnd( 上使用以下代码:
protected override void OnResizeBegin(EventArgs e)
{
SuspendLayout();
base.OnResizeBegin(e);
}
protected override void OnResizeEnd(EventArgs e)
{
ResumeLayout();
base.OnResizeEnd(e);
}