TreeView控件使用

    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;

               }

          }

转载于:https://www.cnblogs.com/zhanglei93/p/4762056.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TreeView控件是Windows Forms中的一个控件,它用于显示层次结构数据,如文件夹结构、组织机构和分类目录等。TreeView控件提供了一种简单而有效的方式来显示和管理这些数据。以下是TreeView控件使用详解: 1. 添加TreeView控件到窗体 在Visual Studio的工具箱中找到TreeView控件,并将其拖放到窗体上。 2. 设置TreeView控件的属性 TreeView控件有许多可用的属性,可以在属性窗口中进行设置。其中一些常用的属性包括: - Nodes:TreeView控件中的节点集合。 - ImageList:用于显示节点图像的ImageList控件。 - CheckBoxes:指示是否显示节点前面的复选框。 - ShowLines:指示是否显示节点之间的连接线。 - ShowPlusMinus:指示是否显示展开和折叠节点的加号和减号。 - SelectedNode:表示当前选定的节点。 3. 添加节点 可以使用Nodes属性中的Add方法来添加节点。例如,以下代码将在TreeView控件中添加一个名为“根节点”的节点: ``` c# treeView1.Nodes.Add("根节点"); ``` 可以在节点上使用Text属性来设置节点的文本。例如,以下代码将设置根节点的文本为“根节点”: ``` c# treeView1.Nodes[0].Text = "根节点"; ``` 可以使用Nodes属性的Add方法来添加子节点。例如,以下代码将在根节点下添加一个名为“子节点”的子节点: ``` c# treeView1.Nodes[0].Nodes.Add("子节点"); ``` 可以使用TreeView控件SelectedNode属性来获取或设置当前选定的节点。例如,以下代码将选定根节点: ``` c# treeView1.SelectedNode = treeView1.Nodes[0]; ``` 4. 设置节点图像 可以使用ImageList控件来为节点设置图像。首先,需要将ImageList控件添加到窗体上,并设置其ImageSize属性。然后,可以将图像添加到ImageList控件中。例如,以下代码将设置TreeView控件节点的图像: ``` c# // 创建一个ImageList控件 ImageList imageList = new ImageList(); // 设置ImageSize属性 imageList.ImageSize = new Size(16, 16); // 添加图像 imageList.Images.Add("folder", Image.FromFile("folder.png")); // 将ImageList控件赋给TreeView控件的ImageList属性 treeView1.ImageList = imageList; // 在节点上设置图像 treeView1.Nodes[0].ImageKey = "folder"; ``` 5. 处理节点事件 TreeView控件提供了许多事件,可以在事件处理程序中执行自定义代码。例如,以下代码将在单击节点时显示节点的文本: ``` c# private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { MessageBox.Show(e.Node.Text); } ``` 6. 总结 以上就是TreeView控件使用详解。TreeView控件是一个非常实用的控件,可以用来显示层次结构数据,如文件夹结构、组织机构和分类目录等。使用TreeView控件,可以轻松地添加、删除和修改节点,以及处理节点事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值