• 树节点


    private void zimulu(TreeNode node)//在点开节点的一瞬间,解析当前目录的第三级目录
            {
                try//对错误或者权限不作处理
                {
                    //根据获得的完整目录得到该目录下的子目录
                    foreach (var dirinfor in new DirectoryInfo(node.Tag.ToString()).GetDirectories())
                    {                                     //依据目录的完整目录获取其子目录,否则找不到文件
                        //以子目录的文件名为名称创建树节点
                        var n = new TreeNode(dirinfor.Name);
                        n.Tag = dirinfor.FullName;//将子目录的完整目录传给创建的树节点,
                                               //使所有的子目录都有完整目录,
                                               //便于调用此函数解析当前节点的第三级目录时,
                                            //能够得到子目录完整目录
                        node.Nodes.Add(n);//将创建的树节点添加到当前目录分配的树节点的集合中,子目录形成
                    }
                }
                catch { }
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                foreach (var diver in Environment.GetLogicalDrives())//获取操作平台的驱动器名称
                {
                    var node = new TreeNode(diver);//依据驱动器的目录创建第一级树节点
                    node.Tag = diver;//将驱动器的完整目录赋给第一级节点
                    tvwfile.Nodes.Add(node);//将创建的节点添加到tvwfile分配的树节点的集合中
                    zimulu(node);//调用该函数,解析当前节点下的子目录
                }
            }
    
            private void tvwfile_BeforeExpand(object sender, TreeViewCancelEventArgs e)
            {
                foreach (TreeNode node in e.Node.Nodes/*操作节点下的子目录集合*/)//遍历操作节点下的子目录集合
                {
                    zimulu(node);//调用该函数,当前的子目录具有完整目录
                }
            }
    
            private void tvwfile_BeforeCollapse(object sender, TreeViewCancelEventArgs e)
            {
                foreach (TreeNode node in e.Node.Nodes)
                {
                    node.Nodes.Clear();//当点击折叠的一瞬间,除当前节点外,其所有的子目录全部关闭
                                      //其子目录不会清空,但是其第三级目录已被清空
                }
                
            }
    
            private void tvwfile_BeforeSelect(object sender, TreeViewCancelEventArgs e)
            {
                listView1.Items.Clear();
                try
                {
                    //获取该完整目录下所有的文件和子目录
                    foreach (var file in new DirectoryInfo(e.Node.Tag.ToString()).GetFileSystemInfos())
                    {
                        var f = new ListViewItem(file.Name);
                        f.SubItems.Add(file.LastAccessTime.ToLocalTime().ToString());
                        listView1.Items.Add(f);//将读取的所有文件和文件夹添加到该集合中
                    }
                }
                catch { }
            }
    //左边空白区域是treeview Dock是left 中间黑线是splitter
    Dock是left 右边是listview Dock是fill view是details
    
    

  • 相关阅读:
    通过注册表设置指定用户启动项的权限
    音频知识学习
    回老家也不忘老本......
    探索DOMNode
    表单填写示例(通过JavaScript访问DOM)
    最近的一些感悟
    C#和Java中的Substring()
    验证ASP.NET页生命周期时间的触发顺序
    解析c语言背后的汇编代码
    oracle nvl()函数在使用中出现的问题
  • 原文地址:https://www.cnblogs.com/liujianshe1990-/p/5125881.html
Copyright © 2020-2023  润新知