2

我有一个 TableLayoutPanel,我在其中使用布局内的控件执行一些拖放操作。不幸的是,控件在放置动作后闪烁。我在所有控件和许多其他东西上都尝试了 DoubleBuffered=true。我也尝试了这个解决方案:如何修复用户控件中的闪烁。实际上它与上面提到的 CreateParams 配合得很好。但直到我调整表格大小。调整大小后,Windows 似乎忘记了 WS_EX_COMPOSIET 标志。它仅以航空主题出现。如果没有 aero,它会在调整大小后保留 CreateParams 的设置。

开启aero主题时有什么办法可以防止闪烁吗?

4

1 回答 1

1

on the the form resize Events (onResizeBegin & on ResizeEnd) use the following code :

protected override void OnResizeBegin(EventArgs e) 
 {
    SuspendLayout();
    base.OnResizeBegin(e);
 }

protected override void OnResizeEnd(EventArgs e) 
 {
    ResumeLayout();
    base.OnResizeEnd(e);
 }
于 2013-07-10T21:27:28.817 回答