Получать события файловой системы в главном потоке пользовательского интерфейса
Могу ли я получить события файловой системы в главном потоке пользовательского интерфейса? В настоящее время изменения файлов запускаются в собственных потоках.
Ответ 1
Просто установите свойство FileSystemWatcher.SynchronizingObject в экземпляр формы. То же самое, что и вызов BeginInvoke(), но автоматически сделанный для вас. Код котла:
public Form1() {
InitializeComponent();
fileSystemWatcher1.SynchronizingObject = this;
}
Ответ 2
this.BeginInvoke((MethodInvoker)(() => SomeMethod())); // Check files in the Main thread otherwise threading issues occur