我知道我可以使用 FileDialog 浏览存在的文件。我正在跟踪目录中所做的更改,每次发生更改时,我都会将该文件保存在数据库中。我记录了文件路径、修改日期、输入数据库的日期以及用于识别每个文件的文件 ID。
所以我的数据库包含一个很大的文件列表(大约 50,000 个)。当我浏览一个文件时,我将该文件列表放在一个列表视图中。如果我想恢复一个文件,我将不得不浏览该列表视图,这并不难,因为我添加了一个搜索功能来过滤结果。
但我想让用户像在 Windows 中那样浏览文件。换句话说,您必须双击列表视图中的文件夹才能查看其内容。我设法通过创建一个事件来做到这一点,当您双击列表视图中的文件夹时,它只会显示被双击的父目录的文件。换句话说,通过双击一个文件夹,您将看到该目录的内容。这种技术的唯一问题是它很慢。每次双击一个文件夹大约需要 2 秒。一开始它很快,但它往往会变慢。如果我能加快这个过程就好了。我已经对文件进行了排序以加快此过程并创建一个循环而不是查询,但这仍然需要时间。
或者也许我必须修改我的数据库来加快这个过程。由于我正在跟踪很多更改,因此我希望数据库尽可能小。但是如果我必须添加几列来完成这项工作,那么我将对其进行修改。