2

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

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

鼠标移动触发面板 Refresh()。触发Paint时会绘制一些形状这是我遇到问题的地方。这些形状仅在鼠标移动触发刷新后的一瞬间绘制,然后完全消失。就好像它们只绘制在一个缓冲区或类似的东西上。这似乎只发生在画图上。例如,我可以将形状复制/粘贴到鼠标移动方法中,一切都会正常工作。关于为什么的任何想法?

4

1 回答 1

0

从评论发表:

听起来您没有使用来自 Paint 事件或 OnPaint 覆盖的 e.Graphics 对象。避免使用 CreateGraphics。

于 2012-04-27T18:22:32.963 回答