我有一个后台线程来处理与外部服务的通信。每次后台线程收到一条消息时,我都想将其传递给 UI 线程以进行进一步处理(显示给用户)。
目前我已经创建了一个线程安全的消息队列,它定期在 Timer.Tick 中汇集并填充到后台线程中。但是这个解决方案是次优的。
你知道如何使用消息泵将事件从后台线程传递到 ui 线程吗?
最佳答案
您可以使用 Control.Invoke 并使用委托(delegate)。委托(delegate)将在创建控件的线程上执行。
http://msdn.microsoft.com/en-us/library/zyzhdc6b.aspx
关于c# - 在 ui 线程中执行委托(delegate)(使用消息泵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132472/