调整大小后闪烁,尽管有WS_EX_COMPOSIET标志和双缓冲属性



我有一个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);
 }

相关内容

  • 没有找到相关文章

最新更新