我能够在主UI线程上获取文件系统监视器事件吗?目前,文件更改是在它们自己的线程上触发的。
我能够在主UI线程上获取文件系统监视器事件吗?目前,文件更改是在它们自己的线程上触发的。
只需将FileSystemWatcher.SynchronizingObject属性设置为窗体实例。这与调用BeginInvoke()相同,但为您自动完成。样板代码:
public Form1() {
InitializeComponent();
fileSystemWatcher1.SynchronizingObject = this;
}
this.BeginInvoke((MethodInvoker)(() => SomeMethod())); // Check files in the Main thread otherwise threading issues occur
Control.Invoke()
,WPF使用Dispatcher.BeginInvoke()
从事件处理程序中将事件传递到UI线程。 - Steve