C#的TreeView控件(树控件)

目录

一、添加和删除树节点 

1.添加节点

2.移除节点

二、获取树控件中选中的节点

1.源码

2.生成效果

三、为树控件中的节点设置图标

1.源码

2.生成效果

        TreeView控件(树控件)可以为用户显示节点层次结构,每个节点又可以包含子节点,包含子节点的节点叫父节点。就像在Windows操作系统的Windows资源管理器功能的左窗口中显示文件和文件夹一样。

一、添加和删除树节点 

1.添加节点

        使用TreeView控件Nodes属性的Add()方法,可以向控件中添加节点。

public virtual int Add(TreeNode node)
☑ node:要添加到集合中的TreeNode。
☑ 返回值:添加到树节点集合中的TreeNode的从零开始的索引值。

2.移除节点

        使用TreeView控件Nodes属性的Remove()方法可以从树节点集合中移除指定的树节点。

public void Remove (TreeNode node)
node:要移除的TreeNode。

二、获取树控件中选中的节点

        可以在控件的AfterSelect事件中,使用EventArgs对象返回对已单击节点对象的引用。通过检查TreeViewEventArgs类(它包含与事件有关的数据),确定单击了哪个节点。

        在BeforeCheck(在选中树节点复选框前发生)或AfterCheck(在选中树节点复选框后发生)事件中尽可能不要使用TreeNode.Checked属性。

1.源码

//Form1.cs
//AfterSelect事件使用EventArgs对象返回对已单击节点对象的引用
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //初始化Form1
            label1.Visible = false;

            //创建父节点
            TreeNode treeNode = treeView1.Nodes.Add("银行");

            //创建子节点
            TreeNode treeNode_1 = new TreeNode("徽商银行");
            TreeNode treeNode_2 = new TreeNode("华夏银行");
            TreeNode treeNode_3 = new TreeNode("浙商银行");

            //给父节点添加子节点
            treeNode.Nodes.Add(treeNode_1);
            treeNode.Nodes.Add(treeNode_2);
            treeNode.Nodes.Add(treeNode_3);
        }

        //AfterSelect事件使用EventArgs对象返回对已单击节点对象的引用
        private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            label1.Visible = true;
            label1.Text = "选中的节点是:" + e.Node.Text;
        }
    }
}

2.生成效果

 

三、为树控件中的节点设置图标

        TreeView控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与ImageList控件相关联。

        设置TreeView控件的ImageList属性为想要使用的现有ImageList控件。这些属性可在设计器中使用“属性”窗口进行手动设置,也可在代码中编程设置

treeView1.ImageList = imageList1;

        设置节点的ImageIndex和SelectedImageIndex属性,ImageIndex属性确定正常和展开状态下的节点显示的图像,SelectedImageIndex属性确定选定状态下的节点显示的图像。

1.源码

//Form1.cs
//为树控件中的节点设置图标
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _12
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            treeView1.Dock = DockStyle.Fill;

            //创建父节点
            TreeNode treeNode = treeView1.Nodes.Add("组织结构");

            //创建子节点
            TreeNode treeNode_1 = new TreeNode("C#部门");
            TreeNode treeNode_2 = new TreeNode("C++部门");
            TreeNode treeNode_3 = new TreeNode("VB部门");

            //给父节点添加子节点
            treeNode.Nodes.Add(treeNode_1);
            treeNode.Nodes.Add(treeNode_2);
            treeNode.Nodes.Add(treeNode_3);

            //给imagelist1添加图片
            imageList1.Images.Add(Image.FromFile("1.png"));
            imageList1.Images.Add(Image.FromFile("2.png"));

            //treeView1和imageList1建立关联
            treeView1.ImageList = imageList1;
            imageList1.ImageSize = new Size(16, 16);

            //默认显示图标ID=0,鼠标选中时显示图标ID=1
            treeView1.ImageIndex = 0;
            treeView1.SelectedImageIndex = 1;
        }
    }
}

2.生成效果

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C#中实现形目录,可以使用TreeView控件。以下是基本步骤: 1. 在Visual Studio中创建一个Windows应用程序项目。 2. 在窗体上添加一个TreeView控件。 3. 在窗体的Load事件中编写代码,以初始化TreeView控件中的形目录。以下是示例代码: ``` private void Form1_Load(object sender, EventArgs e) { // 添加根节点 TreeNode rootNode = new TreeNode("根目录"); treeView1.Nodes.Add(rootNode); // 添加子节点 TreeNode subNode1 = new TreeNode("子目录1"); rootNode.Nodes.Add(subNode1); // 添加子节点的子节点 TreeNode subNode2 = new TreeNode("子目录2"); subNode1.Nodes.Add(subNode2); } ``` 4. 若要允许用户通过单击节点来展开或折叠其子节点,可以将TreeView控件的ShowPlusMinus和ShowRootLines属性设置为true。以下是示例代码: ``` treeView1.ShowPlusMinus = true; treeView1.ShowRootLines = true; ``` 5. 若要在TreeView控件中显示图标,可以为每个节点设置ImageIndex和SelectedImageIndex属性。以下是示例代码: ``` rootNode.ImageIndex = 0; rootNode.SelectedImageIndex = 0; subNode1.ImageIndex = 1; subNode1.SelectedImageIndex = 1; subNode2.ImageIndex = 2; subNode2.SelectedImageIndex = 2; ``` 6. 若要在TreeView控件中显示复选框,可以将TreeView控件的CheckBoxes属性设置为true,并为每个节点设置Checked属性。以下是示例代码: ``` treeView1.CheckBoxes = true; rootNode.Checked = true; subNode1.Checked = true; subNode2.Checked = false; ``` 以上是在C#中实现形目录的基本步骤和示例代码。你可以根据自己的需求来调整代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenchm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值