【发布时间】:2011-09-25 13:16:52
【问题描述】:
以下场景: 我有一个带有一些 GUI 元素(winforms)的类。这个类有一个更新方法,可以改变控件上的东西。 我也有一个 FileSystemWatcher。每当文件更改时,此对象都会给我一个回调。在这种情况下,我调用 update 方法。
正如您可能猜到的那样,这会使应用程序崩溃。原因:来自 FileSystemWatcher 的回调位于创建控件的另一个线程中。如果我随后调用更新方法,它就无法访问控件。
有什么方法可以解决这个问题?谢谢!
【问题讨论】:
-
对于FSW来说是微不足道的,分配SynchronizingObject属性。
标签: c# winforms multithreading