2

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

  }
}

谢谢

4

1 回答 1

1

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

fileSystemWatcher1.Path = dlgOpenDir.SelectedPath;

但是,您的下一个问题是您想使用一个FileSystemWatcher来观看两条路径,这是无法完成的,您需要第二条来观看两条路径。但是,它们都可以使用相同的事件处理程序。所以一旦你有了第二个,在另一个按钮中单击你还没有使用过,添加这个:

fileSystemWatcher2.Path = dlgOpenDir.SelectedPath;
于 2013-06-06T12:40:22.067 回答