如何在经常更改面板中的控件时避免闪烁?

Posted

技术标签:

【中文标题】如何在经常更改面板中的控件时避免闪烁?【英文标题】:how to avoid flickering while changing the controls in the panel very often? 【发布时间】:2010-04-23 10:39:03 【问题描述】:

我经常更改面板中的控件,同时这样做闪烁发生如何避免 这个。

我有十个用户控件,在放置控件之前,我将清除面板的内容并 在面板中添加一个新的。

【问题讨论】:

“更改控件”是什么意思? 【参考方案1】:

ChrisBD 提到的另一种方式

myPanel.SuspendLayout()
//adding and removing all UserControls
//...
myPanel.ResumeLayout(false)

【讨论】:

【参考方案2】:

闪烁是由更改控件时发生的所有屏幕刷新引起的。

一个选项是有两个面板,一个是活动的和可见的,另一个是不可见的。在隐藏面板上添加或删除控件,然后在更改完成后交换它们。

还有另一种方法可以防止发生刷新,但不幸的是我不在编码机旁,目前无法给出示例。

【讨论】:

以上是关于如何在经常更改面板中的控件时避免闪烁?的主要内容,如果未能解决你的问题,请参考以下文章

避免在调整大小时移动其控件的对话框上闪烁

winform中panel刷新闪烁的问题

如何防止背景图像在更改时闪烁

如何彻底更改 recyclerview 中的 item 布局中的某个控件的某个属性

如何修复用户控件中的闪烁

Qt编写自定义控件47-面板区域控件