从FileSystemWatcher创建的事件中获取文件数量?

时间:2011-09-30 14:32:33

标签: c# .net filesystemwatcher

我想知道是否有办法获得要复制的文件数量?我的意思是跟随...... 我正在编写一个包含网格的应用程序,其功能类似于Windows资源管理器。当我拖放文件时,它们被复制到目标文件夹,我的网格应该刷新。我的FileSystemWatcher向我发送了有关已创建文件的事件&网格刷新,但对于多个文件,它会刷新多次= /那么有没有办法找出复制了多少文件,或者只是在一个事件中获取文件集合?

3 个答案:

答案 0 :(得分:1)

我会构建一个适配器,在延迟后限制并引发类似的事件。这个ThrottlingFileSystemWatcher看起来几乎与标准FileSystemWatcher完全相同,但它不是为每个文件引发事件,而是将文件排队并稍后引发一些事件TimeSpan(比如5秒,但要使其可配置)并包括它在EventArgs中看到的所有文件。

答案 1 :(得分:0)

我会让刷新更准确,让它只在定义的时间后再次刷新。 因此,它可以解决所有未来刷新问题和/或用户刷新的问题。我还可以使刷新时间可配置,每个用户都对它感到满意。

答案 2 :(得分:0)

我曾编写类似于@Austin Salonen的解决方案。

收到新文件事件时,请检查倒计时器是否正在运行。

  • 如果没有,请启动它
  • 如果正在运行,请将其重置为3秒(时间
    取决于文件大小和文件传输速度。)

当倒计时器触发时,然后更新GUI。