Doublebuffer winforms面板问题

时间:2012-04-27 14:58:58

标签: c# winforms

我正在尝试双重缓冲winforms面板元素。我使用面板绘制形状。现在,我有以下几点:

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

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

1 个答案:

答案 0 :(得分:0)

发表评论:

  

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