FileWatcher 2 directories

本文关键字:directories FileWatcher | 更新日期: 2023-09-27 18:17:17

我已经制作了一个FileWatcher,但是我的FileWatcher没有按计划工作,我被卡住了。

我想有一个文件观察,将与2个地图工作。

我自己编写的代码不会选择我告诉他应该选择的路径。

在我的应用程序中,我需要浏览到一个位置,在那里他需要检查该位置的文件发生了什么。

我的问题是:当我浏览时,它不会看到我选择的地图。

我想他在我选好路之前就已经看到了。

请帮助。

(我刚开始第一次使用c#)

如果有人想帮助我,但又没有足够的信息。

(实际上我有两个其他的文件,但这个看起来最好)

代码:

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;
  }
  }    
  }
}

谢谢

FileWatcher 2 directories

第一个问题是你从来没有设置fileSystemWatcher1Path,所以在一个按钮点击中,在你得到路径后,这样做:

fileSystemWatcher1.Path = dlgOpenDir.SelectedPath;

然而,你的下一个问题是,你想使用一个FileSystemWatcher来观看两个路径,这是不能做到的,你需要第二个来观看两个。但是,它们都可以使用相同的事件处理程序。所以一旦你有了第二个,在另一个你还没用过的按钮点击,添加这个:

fileSystemWatcher2.Path = dlgOpenDir.SelectedPath;