FileSystemWatcherメモ
マーシャリング
FileSystemWatcher.Changedなどのイベントハンドラ内で"Cross thread operation not valid"が出たら、
FileSystemWatcher.SynchronizingObject = this;
を追加。thisはFormコンポーネントを指してる。
SynchronizingObjectについて
Changed、Created、Deleted、Renamed の各イベントを Button などの Windows フォーム コンポーネントで処理するとき、システム スレッド プールを通じてコンポーネントにアクセスできなかったり、例外が発生したりする場合があります。これを防ぐには、SynchronizingObject を Windows フォーム コンポーネントに設定して、コンポーネントが作成されたスレッドと同じスレッドで Changed、Created、Deleted、Renamed の各イベントを処理するメソッドが呼び出されるようにします。