C#:在另一个线程中调用方法

时间:2011-09-25 13:16:53

标签: c# winforms multithreading

  

可能重复:
  How to update GUI from another thread in C#?

以下情景: 我有一个带有一些GUI元素的类(winforms)。这个类有一个更新方法,可以改变控件上的内容。 我还有一个FileSystemWatcher。每当文件更改时,此对象都会给我一个回调。在这种情况下,我调用更新方法。

正如您可能猜到的,这会导致应用程序崩溃。原因是:FileSystemWatcher的回调是在另一个创建控件的线程中。如果我然后调用更新方法,则无法访问控件。

解决这个问题的方法是什么?谢谢!

2 个答案:

答案 0 :(得分:1)

您应该致电Control.InvokeBeginInvoke,请参阅深入参考Here

答案 1 :(得分:0)

最高投票回答这个问题看起来好像可以解决这个问题:

C# Windows Forms Application - Updating GUI from another thread AND class?

相关问题