0

FileSystemWatcherC#でレイズイベントを2回回避または停止する方法を知りたいですか? フォルダーから新しく作成されたxmlファイルがあるかどうかを毎回検出するソリューションがあります。メモ帳を使用して xml ファイルを作成してアプリケーションをテストしますが、リストボックスからは 2 回表示されます。

この問題を解決するにはどうすればよいですか?

これが私のコードです:

private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
    {
        try
        {
            fileSystemWatcher1.EnableRaisingEvents = false;
            listBox1.Items.Add(e.FullPath);
        }

        finally
        {
            fileSystemWatcher1.EnableRaisingEvents = true;
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        DialogResult dialogSelectFolder = folderBrowserDialog1.ShowDialog();
        if (dialogSelectFolder.ToString() == "OK")
        {
            textBox1.Text = folderBrowserDialog1.SelectedPath;
            button2.Enabled = true;
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        button1.Enabled = false;
        button2.Enabled = false;
        button3.Enabled = true;
        fileSystemWatcher1.EnableRaisingEvents = true;
        fileSystemWatcher1.Path = textBox1.Text;
        fileSystemWatcher1.Filter = "*.xml";
    }

    private void button3_Click(object sender, EventArgs e)
    {
        button1.Enabled = true;
        button3.Enabled = false;
        textBox1.Text = "";
        fileSystemWatcher1.EnableRaisingEvents = false;
    }
}
4

1 に答える 1