代码如下:
//开始监控
void Button2Click(object sender, EventArgs e)
{
if(textBox1.Text == "")
{
MessageBox.Show("请选择监控目录");
return;
}
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = textBox1.Text;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.txt";
watcher.Changed += new FileSystemEventHandler(watcher_Changed);
watcher.Deleted += new FileSystemEventHandler(watcher_Changed);
watcher.Created += new FileSystemEventHandler(watcher_Created);
watcher.Renamed += new RenamedEventHandler(watcher_Renamed);
if(button2.Text == "开始监控")
{
watcher.EnableRaisingEvents = true;
button2.Text = "停止监控";
}
else if(button2.Text == "停止监控")
{
watcher.EnableRaisingEvents = false;
button2.Text = "开始监控";
}
}
void watcher_Created(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("创建文件:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Deleted(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("删除文件:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Renamed(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("文件:" + e.OldFullPath + "更名为:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Changed(object sender, FileSystemEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("修改了文件:"+ e.FullPath);
};
listBox1.Invoke(listboxadd);
}
报错:
“watcher_Created”的重载均与委托“System.IO.FileSystemEventHandler”不匹配 (CS0123) - D:\c#\SharpDevelop Projects\FileSystemWatcher类\FileSystemWatcher类\MainForm.cs:55,23
//开始监控
void Button2Click(object sender, EventArgs e)
{
if(textBox1.Text == "")
{
MessageBox.Show("请选择监控目录");
return;
}
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = textBox1.Text;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.txt";
watcher.Changed += new FileSystemEventHandler(watcher_Changed);
watcher.Deleted += new FileSystemEventHandler(watcher_Changed);
watcher.Created += new FileSystemEventHandler(watcher_Created);
watcher.Renamed += new RenamedEventHandler(watcher_Renamed);
if(button2.Text == "开始监控")
{
watcher.EnableRaisingEvents = true;
button2.Text = "停止监控";
}
else if(button2.Text == "停止监控")
{
watcher.EnableRaisingEvents = false;
button2.Text = "开始监控";
}
}
void watcher_Created(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("创建文件:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Deleted(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("删除文件:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Renamed(object sender, RenamedEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("文件:" + e.OldFullPath + "更名为:" +e.FullPath);
};
listBox1.Invoke(listboxadd);
}
void watcher_Changed(object sender, FileSystemEventArgs e)
{
listboxAdd listboxadd = delegate()
{
listBox1.Items.Add("修改了文件:"+ e.FullPath);
};
listBox1.Invoke(listboxadd);
}
报错:
“watcher_Created”的重载均与委托“System.IO.FileSystemEventHandler”不匹配 (CS0123) - D:\c#\SharpDevelop Projects\FileSystemWatcher类\FileSystemWatcher类\MainForm.cs:55,23
把+=和后面人都去掉按2次Tab让VS自动生成个方法去
{
FileWatcher.Filter = "*.*";
FileWatcher.Path = WatcherPath;
FileWatcher.Changed += new FileSystemEventHandler(FileWatcher_Changed);
FileWatcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed);
FileWatcher.Created += new FileSystemEventHandler(FileWatcher_Created);
FileWatcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted);
FileWatcher.IncludeSubdirectories = true;
FileWatcher.EnableRaisingEvents = true;
} void FileWatcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine(""+e.ChangeType+""+e.FullPath+" 删除 ");
}
void fsw_Changed(object sender, FileSystemEventArgs e)
{
}