【问题标题】:Heavy Load C# Application Freezes when Mouse Event is Activated激活鼠标事件时重负载 C# 应用程序冻结
【发布时间】:2011-01-03 03:19:02
【问题描述】:

我的 C# 应用程序有一个每 100 毫秒触发一次事件的计时器。在此事件中,有一个用于总线流量的接收处理程序,该处理程序不断循环,直到接收缓冲区为空,或者又过了 100 毫秒。这工作正常,直到我尝试在运行时在我的应用程序中使用其他控件之一。然后应用程序冻结。有没有人知道我可以如何对我的应用程序进行分区(或以其他方式修改它),以便当我尝试使用控件时,后台事件(与计时器相关联)可以继续运行并且不会停止应用程序?我正在使用 Microsoft Visual C# 2008 Express Edition。谢谢。

【问题讨论】:

    标签: c# events timer freeze


    【解决方案1】:

    您必须为接收处理程序使用BackgroundWorker(或等效构造)。这样它将在不同的线程中运行,并且表单将能够及时响应,并且您不需要循环中的计时器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多