我做了一个FileWatcher,但是我的FileWatcher不能按计划工作,我被卡住了。
我想要一个可以与2个地图一起使用的文件监视程序。
我自己编写的代码不会选择我要他选择的路径。
在我的应用程序中,我需要浏览到一个位置,他需要在该位置检查该位置的文件会发生什么情况。
我的问题是:浏览时不会观看我选择的地图。
我认为他已经在我选择道路之前就开始观察了。
请帮忙。
(我刚开始使用C#。)
如果有人想帮助我但没有足够的信息。
(我实际上还有另外2个文件,但是这个看起来最好)
在Skype上加我为好友:Maybeloko
码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Created> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Changed> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Deleted> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
{
listBox1.Items.Add("File Renamed> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher2_Changed(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Changed> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher2_Created(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Created> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher2_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
listBox1.Items.Add("File Deleted> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void fileSystemWatcher2_Renamed(object sender, System.IO.RenamedEventArgs e)
{
listBox1.Items.Add("File Renamed> " + e.FullPath + " -Date:" + DateTime.Now);
}
private void button2_Click(object sender, EventArgs e)
{
//
DialogResult resDialog = dlgOpenDir.ShowDialog();
if (resDialog.ToString() == "OK")
{
textBox1.Text = dlgOpenDir.SelectedPath;
}
}
private void button3_Click(object sender, EventArgs e)
{
DialogResult resDialog = dlgOpenDir.ShowDialog();
if (resDialog.ToString() == "OK")
{
textBox2.Text = dlgOpenDir.SelectedPath;
}
}
}
}
谢谢
最佳答案
第一个问题是您永远不会设置Path
的fileSystemWatcher1
,因此在单击一次按钮后,返回路径后,请执行以下操作:
fileSystemWatcher1.Path = dlgOpenDir.SelectedPath;
但是,您的下一个问题是您要使用一个
FileSystemWatcher
来监视两条路径,这是无法完成的,您将需要第二条路径来监视两条路径。但是,它们都可以使用相同的事件处理程序。因此,一旦有了第二个按钮,请在另一个按钮中单击您尚未使用的按钮,添加以下内容:fileSystemWatcher2.Path = dlgOpenDir.SelectedPath;
关于c# - FileWatcher 2目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16962246/