问题
Can i get filesystemwatcher events to occur on the main UI thread ?. Currently file changes are fired off on their own threads.
回答1:
Simply set the FileSystemWatcher.SynchronizingObject property to the form instance. Same thing as calling BeginInvoke() but done automatically for you. Boilerplate code:
public Form1() {
InitializeComponent();
fileSystemWatcher1.SynchronizingObject = this;
}
回答2:
this.BeginInvoke((MethodInvoker)(() => SomeMethod())); // Check files in the Main thread otherwise threading issues occur
来源:https://stackoverflow.com/questions/22465167/get-filesystemwatcher-events-to-occur-on-main-ui-thread