【问题标题】:How to implement a progress bar for files searching? [duplicate]如何实现文件搜索的进度条? [复制]
【发布时间】:2023-03-28 23:25:02
【问题描述】:

如何实现文件搜索的进度条? 目前,我已经这样做了:

string[] allFoundFiles = Directory.GetFiles(@folderPath, "*.jpg", SearchOption.AllDirectories);

搜索和记录带有jpg-extension的文件,但是如何重新制作它以实现文件搜索的进度条?

【问题讨论】:

  • "如何实现"??我不确定你的意思
  • 您的问题似乎是如何获取搜索进度并将其与进度条联系起来。如果这实际上是您的意图,请详细说明您的问题。
  • 你在做什么类型的项目? (WinForms、Windows 8 应用程序、Silverlight...)
  • 您可能想改用EnumerateFiles。这会给你一个可枚举的。但是,您必须对百分比进行一些启发式方法,即首先计算所有子目录并将进度百分比分成每个子目录的相等部分
  • @huMptyduMpty 从问题的上下文中可以明显看出他正在寻找如何做到这一点。不要迂腐,很多用户的英语都不像你说的那么好。

标签: c# progress-bar


【解决方案1】:

我不知道自动执行此操作的方法,但是我建议将搜索分成几部分,以便您进行估算。有关详细信息,请参阅以下 SO 帖子:

updating progress bar during a file search

对于前 n 级目录(比如 4,包括驱动器),计数 子目录的数量。这通常是一个快速操作, 尽管您可以将其调整为仅在超过 5 次时才递归 子目录存在或类似。存储此号码。

当您执行真正的搜索时,请跟踪 您已完成的位于根目录的 n 步内的子目录。 使用此数字和存储的计数来估计完成情况。

基本上,您将能够根据搜索到的目录的总和和所有目录的总和来估计完成百分比。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • 谢谢,我已经这样做了
  • 做得很好……感谢您对它的改进。不确定谁对你的答案投了反对票,但你肯定得到了我对这个答案的赞成票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多