首页 技术 正文
技术 2022年11月10日
0 收藏 486 点赞 3,020 浏览 2351 个字

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:

   TreeNode tmp;

  tmp = new TreeNode(“需要添加的内容”);

   treeView1.SelectedNode.Nodes.Add(tmp);

   treeView1.SelectedNode = tmp;

  为父节点添加子节点:

    TreeNode tmp;

      tmp = new TreeNode(“需添加的内容”);

      treeView1.SelectedNode.Parent.Nodes.Add(tmp);

       treeView1.SelectedNode = tmp;

  设置当鼠标移开treeView控件时选中状态不消失

  treeView1.HideSelection = false;

  显示某一目录下的文件

    private void PaintTreeView(TreeView treeView, string fullPath)

 {

      try

      {

         treeView.Nodes.Clear();   //清空TreeView

      DirectoryInfo dirs = new DirectoryInfo(fullPath);  //获得程序所在路径的目录

    DirectoryInfo[] dir = dirs.GetDirectories();  //获取目录下文件夹选项

      FileInfo[] file = dirs.GetFiles();  //获取目录下文件选项

     int dircount = dir.Count();  //获取文件夹对象数量

     int filecount = file.Count();   //获取文件对象数量

      for (int i = 0; i < dircount; i++)   //循环文件夹

     {

        treeView.Nodes.Add(dir[i].Name);

       string pathNode = fullPath + “\\” + dir[i].Name;

      GetMultiNode(treeView.Nodes[i], pathNode);

     }

      for (int j = 0; j < filecount; j++)

     {

        treeView.Nodes.Add(file[j].Name);

    }

      }

   catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

 private bool GetMultiNode(TreeNode treeNode, string path)

      {

    if (Directory.Exists(path) == false)

    {

      return false;

   }

    DirectoryInfo dirs = new DirectoryInfo(path);   //获得程序所在路径的目录对象

   DirectoryInfo[] dir = dirs.GetDirectories();  //获得目录下文件夹对象

   FileInfo[] file = dirs.GetFiles();   //获得目录下文件对象

    int dircount = dir.Count();  //获取文件夹对象数量

     int filecount = file.Count();   //获取文件对象数量

    int sumcount = dircount + filecount;

    if (sumcount == 0)

    {

     return false;

    }

    for (int j = 0; j < dircount; j++)   //循环文件夹

   {

     treeNode.Nodes.Add(dir[j].Name);

    string pathNodeB = path + “\\” + dir[j].Name;

    GetMultiNode(treeNode.Nodes[j], pathNodeB);

   }

   for (int j = 0; j < filecount; j++)  //循环文件

   {

    treeNode.Nodes.Add(file[j].Name);

     }

    return true;

   }

  判断不同层次的节点,显示不同的右键内容:

     private void treeView1_MouseDown(object sender, MouseEventArgs e)

    {

       TreeNode temp = treeView1.GetNodeAt(e.X, e.Y);   //获取当前鼠标点击的位置

     treeView1.LabelEdit = false;   //设置当前不可编辑

    if (temp != null)

     {

         treeView1.SelectedNode = temp;

        temp.ToolTipText = “右键可编辑”;  //鼠标放在节点位置,提示右键可编辑

       if (temp.Level == 0)

       {

        treeView1.ContextMenuStrip = 模板分类管理;

            //绑定不同的右键选项,ContextMenuStrip名字模板分类管理

          }

       else

       treeView1.ContextMenuStrip = 模板管理;

      }

     else

      {

          treeView1.SelectedNode = null;

        treeView1.ContextMenuStrip = null;

      return;

     }

    }

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,297