【问题标题】:How could I refresh a line chart after the form has been minimized?表单最小化后如何刷新折线图?
【发布时间】:2013-12-03 06:46:10
【问题描述】:

在 Visual C# 中,我构建了一个组件(不是用户控件)来绘制数据折线图以显示来自套接字的数据。我将绘图代码放在 Paint 事件中,因此在新数据包到来后我调用了 Invalidate。但是当表格最小化时,绘图似乎已经停止。表单恢复后,缓冲区中还有一些数据需要刷新,导致显示延迟(取决于表单保持最小化的时间)。

即使没有显示折线图,我应该使用什么机制来刷新折线图?

【问题讨论】:

  • 最小化后,我无法让 Paint 事件发生。但是我发现我在线路刷新延迟方面做错了什么。这是因为我将数据更新控件放在了 Paint 事件中。当 Paint 没有发生时,旧数据无法删除,新数据正在等待。

标签: c# refresh minimized


【解决方案1】:

调用Invalidate() 告诉系统,下次它变得可见时,它应该是 重绘(你已经这样做了)

然后调用 Update() 强制重绘立即发生(您可能只想在最小化时进行此调用)

或者简单地调用

Refresh() 方法。

【讨论】:

  • 感谢您的帮助。我在 Forms.Timer 事件中尝试过 Update() 或 Refresh(),但在最小化期间​​仍然没有刷新。
猜你喜欢
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
相关资源
最近更新 更多