我做了一个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;
  }
  }

  }
}


谢谢

最佳答案

第一个问题是您永远不会设置PathfileSystemWatcher1,因此在单击一次按钮后,返回路径后,请执行以下操作:

fileSystemWatcher1.Path = dlgOpenDir.SelectedPath;


但是,您的下一个问题是您要使用一个FileSystemWatcher来监视两条路径,这是无法完成的,您将需要第二条路径来监视两条路径。但是,它们都可以使用相同的事件处理程序。因此,一旦有了第二个按钮,请在另一个按钮中单击您尚未使用的按钮,添加以下内容:

fileSystemWatcher2.Path = dlgOpenDir.SelectedPath;

关于c# - FileWatcher 2目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16962246/

10-13 08:33