-3

私のコードにはいくつかの問題があります:

private void start_watcher()
    {
        fswFiler = new FileSystemWatcher(Control.filer.get_path(),"*.*");

        //fswStorage = new FileSystemWatcher(Control.storage.get_path());

        fswFiler.Changed += new FileSystemEventHandler(updatePend);
        fswFiler.Deleted += new FileSystemEventHandler(updatePend);
        fswFiler.Created += new FileSystemEventHandler(updatePend);
        fswFiler.Renamed += new RenamedEventHandler(updatePend);

        fswFiler.EnableRaisingEvents = true;

    }

    private void updatePend(object sender, FileSystemEventArgs e)
    {
        this.viewPend.Nodes.Clear();
        Control.filer.refresh_files_list();
        this.viewPend.Nodes.Add(Control.filer.get_files_node());
    }

プログラムから私を追い出します。なぜそれが起こっているのですか?

4

1 に答える 1

0

通知は、UIが使用するのFileSystemWatcherとは別のスレッドで発生します。必見Invoke別のクラスからWindowsフォームGUIを更新する方法は?

またはさらに良い:C#の別のスレッドからGUIを更新する方法は?

于 2012-12-28T07:57:26.800 に答える