我正在尝试双缓冲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/