通过将 "AllPaintingInWmPaint"、"UserPaint" 和 "DoubleBuffer" ControlStyles 的值设置为 "true" (
但是,由于 System.Windows.Forms.Panel 类不允许这样做,因此无法实现。我找到了一种解决方案:http://bytes.com/topic/c-sharp/answers/267635-double-buffering-panel-control。我也尝试过这个:Winforms Double Buffering。即使在绘制小的图形时,它也会出现延迟问题。我在表单中使用了一些自定义资源和其他东西,因此不会将整个表单转换为一个绘图。而第二种方法似乎会引起问题。是否还有其他方法可行呢?
我之所以问这个问题,是因为我不希望在调整窗体大小时,面板上的图形一直闪烁。如果有一种不需要双缓冲就能消除闪烁的方法,我会很高兴知道。
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true)
),可以对整个窗体进行双缓冲处理。但是,由于 System.Windows.Forms.Panel 类不允许这样做,因此无法实现。我找到了一种解决方案:http://bytes.com/topic/c-sharp/answers/267635-double-buffering-panel-control。我也尝试过这个:Winforms Double Buffering。即使在绘制小的图形时,它也会出现延迟问题。我在表单中使用了一些自定义资源和其他东西,因此不会将整个表单转换为一个绘图。而第二种方法似乎会引起问题。是否还有其他方法可行呢?
我之所以问这个问题,是因为我不希望在调整窗体大小时,面板上的图形一直闪烁。如果有一种不需要双缓冲就能消除闪烁的方法,我会很高兴知道。