對於我的項目,我需要觸發一個方法,它在給定目錄內創建文件後,更改某些文本框中的文本。創建FileSystemWatcher後訪問WindowsForms的問題
因此,我用了一個FileSystemWatcher的,並增加了事件處理它,你可以在這裏看到:
private void watch()
{
watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.Filter = "*.osr";
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
創建一個文件後,FileSystemWatcher的成功觸發的方法,但是當我想拋出一個錯誤訪問文本框。
textBox.Text = path; //Error here
的錯誤是:「System.InvalidOperationException」,它說,那我想從另一個線程訪問WindowsForms,但我從來沒有創建另一個線程...
的有趣的事情是,我也有一個按鈕來手動完成整個事情(所以手動打開一個文件),它在那裏工作得非常好。
你能告訴我爲什麼它在另一個線程或我如何修復它?
感謝
好吧,這樣回答錯誤,但我需要檢查的全部時間,每次一個新文件被創建,我需要觸發的方法。我能以某種方式改變窗體的文本,甚至從其他線程? –