gpt4 book ai didi

c# - 如何对面板进行双重缓冲?

转载 作者:可可西里 更新时间:2023-11-01 03:04:18 24 4
gpt4 key购买 nike

我有一个带有轮盘赌轮盘的面板,我需要对面板进行双重缓冲,以使其停止闪烁。谁能帮帮我?

编辑:

是的,我试过了。

panel1.doublebuffered不存在,只有this.doublebuffered。而且我不需要缓冲表单,只需要缓冲面板。

最佳答案

您需要派生自 Panel 或 PictureBox。

这取决于您选择启用缓冲的方式。

如果你设置了 this.DoubleBuffer 标志那么你应该没问题。

如果您手动更新样式,那么您必须自己在 WM_PAINT 中绘制表单。

如果您真的有雄心壮志,您可以维护自己的后台缓冲区并将其绘制为位图。


using System.Windows.Forms;

public class MyDisplay : Panel
{
public MyDisplay()
{
this.DoubleBuffered = true;

// or

SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
UpdateStyles();
}
}

关于c# - 如何对面板进行双重缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/818415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com