以下是一个使用 C# 监控文件夹及其子文件夹文件变化并将结果显示到 TextBox 中的示例代码:

using System;
using System.IO;
using System.Windows.Forms;

namespace FileWatcherExample
{
    public partial class Form1 : Form
    {
        private FileSystemWatcher watcher;
        private string folderPath;

        public Form1()
        {
            InitializeComponent();

            folderPath = 'C:\Path\To\Folder'; // 替换为要监控的文件夹路径

            watcher = new FileSystemWatcher(folderPath);
            watcher.IncludeSubdirectories = true; // 监控子文件夹
            watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite; // 监控文件名和修改时间
            watcher.Changed += new FileSystemEventHandler(OnChanged);
            watcher.Created += new FileSystemEventHandler(OnChanged);
            watcher.Deleted += new FileSystemEventHandler(OnChanged);
            watcher.Renamed += new RenamedEventHandler(OnRenamed);
            watcher.EnableRaisingEvents = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = '开始监控文件夹:' + folderPath;
        }

        private void OnChanged(object sender, FileSystemEventArgs e)
        {
            textBox1.Invoke(new Action(() =>
            {
                textBox1.AppendText('文件 ' + e.FullPath + ' 发生了变化' + Environment.NewLine);
            }));
        }

        private void OnRenamed(object sender, RenamedEventArgs e)
        {
            textBox1.Invoke(new Action(() =>
            {
                textBox1.AppendText('文件 ' + e.OldFullPath + ' 重命名为 ' + e.FullPath + Environment.NewLine);
            }));
        }
    }
}

要使用此示例代码,您需要创建一个 Windows 窗体应用程序,并将一个 TextBox 控件添加到窗体上,并将其命名为 textBox1。然后,将上述代码复制到 Form1.cs 文件中,并将 folderPath 变量替换为您要监控的文件夹路径。

在窗体加载时,将在 textBox1 中显示消息,指示已开始监控文件夹。

当文件夹中的文件发生更改时,将在 textBox1 中显示相应的消息。

注意:在实际使用中,您可能需要根据需要进行错误处理和其他逻辑。此示例仅提供基本的监控和消息显示功能。

C# 文件监控:实时追踪文件夹和子文件夹变化

原文地址: https://www.cveoy.top/t/topic/bsa2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录