C# 为什么';我的文件系统监视程序不工作吗?

C# 为什么';我的文件系统监视程序不工作吗?,c#,filesystemwatcher,C#,Filesystemwatcher,我得到了一个FileSystemWatcher,当我在第一个目录中创建一个文件时,它也应该转到第二个目录。因此,我希望文件在第二个目录中已经存在时被覆盖。这行不通。我明白了: private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e) { listBox1.Items.Add("File created> " + e.FullPath +

我得到了一个
FileSystemWatcher
,当我在第一个目录中创建一个文件时,它也应该转到第二个目录。因此,我希望文件在第二个目录中已经存在时被覆盖。这行不通。我明白了:

 private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
    {

            listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
            if (File.Exists(target+e.Name))
            {
                File.Delete(target+e.Name);
            }
            File.Copy(e.FullPath, Path.Combine(target, e.Name));
    }
我还有一个问题: 它在创建文件时显示,但在重命名、删除或更改文件时不显示。 这是我的密码

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File changed> " + e.FullPath + " -Date:" + DateTime.Now);
        }

    }

    private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
    {

            listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
            if (File.Exists(target+e.Name))
            {
                File.Delete(target+e.Name);
            }
            File.Copy(e.FullPath, Path.Combine(target, e.Name));
    }

    private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File deleted> " + e.FullPath + " -Date:" + DateTime.Now);
            File.Delete(target+e.Name);
        }
    }

    private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File renamed> " + e.FullPath + " -Date:" + DateTime.Now);
        }
    }
        private void Start_Click(object sender, EventArgs e)
    {
        fileSystemWatcher1.Path = source;
        if (!pause)
        {
            pause = true;
            Start.Text = "Pause";
            fileSystemWatcher1.EnableRaisingEvents = true;   
        }
        else
        {
            pause = false;
            Start.Text = "Start";
            fileSystemWatcher1.EnableRaisingEvents = false;

        }

    }
如果(!暂停){

}
是导致问题的原因,您必须将其删除。

似乎暂停是正确的。。。你能给我们看一下你声明FileSystemWatcher的代码吗?@John Smith:你能把代码粘贴到初始化
FileSystemWatcher的地方吗?
@DominicZukiewicz收到了。查看我的edit@John史密斯:谢谢-你是如何把这些活动联系起来的?是通过属性选项卡吗?@JohnSmith:它不知道在引发事件时调用什么方法。如果它正在调用创建的_,则连线必须在其他地方。我是说,检查一下重命名、更改的方法是否也连接好了