电子书架






4.50/5 (4投票s)
电子书架的工作方式类似于资源管理器
 
 
引言
EbookShelf 充当资源管理器。它扫描可通过 config.ini 编辑的目录,以生成动态 treeview。当点击树节点时,它也会扫描该目录下的文件以生成动态 listview。文件可以从 listview 拖动到 treeview。目录可以在 treeview 部分中拖动/放置。文件可以重命名和删除,目录也可以重命名、删除和创建子目录。listview 以小图标视图显示,因此需要先触发大图标视图,然后再触发小图标视图,以解决小图标重叠问题。
Using the Code
动态生成的目录 treeView
- 声明 Thread处理程序objTreeViewInitThreadThread objTreeViewInitThread = null; 
- 使用回调函数指针 m_treeViewInitProc创建thread处理程序objTreeViewInitThread = new Thread(MainForm.m_treeViewInitProc); objTreeViewInitThread.IsBackground = true; objTreeViewInitThread.Start(this); objTreeViewInitThread.Join(); 
- 递归遍历目录树private void m_ListDirectory(TreeNode Parent, DirectoryInfo dir) { if (!dir.Exists) return; DirectoryInfo[] ChildDirectory; TreeNode node = new TreeNode(); node.Name = dir.FullName; // Directory full path node.Text = dir.Name; // Directory folder name if (null == Parent) { treeView.Nodes.Add(node); } else { Parent.Nodes.Add(node); } ChildDirectory = dir.GetDirectories(); foreach (DirectoryInfo dirInfo in ChildDirectory) { m_ListDirectory(node, dirInfo); } }
关注点
感谢 CodeProject 成员开发的 IniParser、IconListManager 和 SHFileOperation ,用于将文件和目录删除到回收站,我能够如此快速地完成这些工作 ^_^。
历史
- 1.0.6
- 函数
- 编辑 config.ini 设置目录
- 支持创建、编辑、删除和拖放类别
- 支持编辑、删除和拖放文件
- 支持按类型和名称排序
- BUG
- 当在应用程序外部编辑时,无法刷新目录 treeview或文件listview
- 拖放类别时,目标放置节点不会高亮显示
- 先点击按名称排序,然后点击按类型排序,则无法按类型排序


