Получать события файловой системы в главном потоке пользовательского интерфейса

Могу ли я получить события файловой системы в главном потоке пользовательского интерфейса? В настоящее время изменения файлов запускаются в собственных потоках.

Ответ 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