2012-04-27 34 views
2

我想双缓冲winforms面板元素。我使用面板绘制形状。现在,我有以下几点:双缓冲winforms面板问题

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

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

+1

听起来像您没有使用'Paint'事件或'OnPaint'覆盖中的'e.Graphics'对象。避免使用'CreateGraphics'。尝试发布您的绘画代码。 – LarsTech 2012-04-27 15:29:37

+0

谢谢,这个伎俩! – user1222728 2012-04-27 18:15:48

回答

0

由发布评论:

听起来像是你不使用e.Graphics从Paint事件或OnPaint中覆盖对象。避免使用CreateGraphics。