我正在尝试双缓冲winforms面板元素。我使用面板绘制形状。现在,我有一些类似的东西:

class BufferPanel : Panel {
    public BufferPanel() {
        this.DoubleBuffer = true;
    }
}


鼠标移动将触发面板Refresh()。触发“画图”时会绘制一些形状。这是我遇到的问题。这些形状仅在鼠标移动触发刷新后立即绘制,然后完全消失。就像它们仅绘制在一个缓冲区上或沿这些行绘制。这似乎仅在Paint中发生。例如,我可以将形状复制/粘贴到鼠标移动方法中,一切都会正常进行。有什么想法吗?

最佳答案

发表评论:


  听起来好像您没有使用Paint事件或OnPaint重写中的e.Graphics对象。避免使用CreateGraphics。

关于c# - DoubleBuffer Winforms面板问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10352994/

10-17 01:53