为了账号安全,请及时绑定邮箱和手机立即绑定

在 C# winforms 中解决冗长的 onPaint 事件的正确方法?

在 C# winforms 中解决冗长的 onPaint 事件的正确方法?

C#
浮云间 2021-06-29 17:45:54
我目前正在开发 C# winforms 图形应用程序。为了切入正题,我的图形控件的 Paint 事件处理程序必须绘制数千个点,这可能需要几秒钟。在此期间,应用程序被冻结。我的目标如下:如果用户在绘制旧数据时更改了要绘制的数据,那么它将在绘制旧数据的过程中停止并开始绘制新数据。这样做的正确方法是什么,还是我完全缺少的其他东西?我试图让我的问题尽可能清楚。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

您问题的答案在于双缓冲。您无需了解有关双缓冲的所有详细信息即可使用它。只需像下面一样将该属性设置为 true 即可在控件中启用它。

 MyGraphPanelControl.DoubleBuffered = true;

明显的缺点是内存使用,但它会大大增加在面板上绘制的东西的“速度”。就像计算机科学中的许多事情一样,您可以用内存换取速度,反之亦然。

此外,从 Microsoft阅读本文将使您更深入地了解如何使用双缓冲。


查看完整回答
反对 回复 2021-07-10
  • 1 回答
  • 0 关注
  • 234 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信