0

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

4

1 回答 1

3

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

于 2010-01-08T23:14:17.553 回答