C# TreeView 树形分层集合

本文深入讲解了TreeView控件的使用,包括命名空间、继承关系、基本操作如节点的添加、删除,以及通过实例展示了如何在WinForm应用中利用TreeView控件进行节点管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载至: 学习靠自己


目录

1 tvw命名空间与继承

2 tvw的基本操作

2.1TreeNode相关

2.2添加根节点

2.3添加子节点

2.4删除节点

3 实例

4 参考文献


1 tvw命名空间与继承

命名空间:System.Windows.Forms

继承:ObjectMarshalByRefObjectComponentControl→TreeView

2 tvw的基本操作

2.1TreeNode相关

    TreeNode node;

(1)FirstNode:获取树节点集合中的第一个子树节点。

(2)FullPath:设置从根树节点到当前树节点的路径。

(3)Index:获取树节点在树节点集合中的位置。

(4)IsEditing:获取一个值,用以指示树节点是否处于可编辑状态。

(5)IsExpanded:获取一个值,用以指示树节点是否处于可展开状态。

(6)IsSelected:获取一个值,用以指示树节点是否处于选定状态。

(7)IsVisible:获取一个值,用以指示树节点是否是完全可见或部分可见。

(8)LastNode:获取最后一个子树节点。

(9)Level:获取 TreeView 控件中的树视图的深度(从零开始)。

(10)NextNode:获取下一个同级树节点。

(11)Parent:获取当前树节点的父树节点。

(12)PrevNode:获取上一个同级树节点。

(13)Text:获取或设置在树节点标签中显示的文本。

2.2添加根节点

(1)获取节点:TreeNode tNode = tvw.SelectedNode;

(2)获取节点文本:string strNode = tvw.SelectedNode.Text;

(3)添加根节点:tvw.Nodes.Add(string str);

2.3添加子节点

(1)添加子节点:this.tvw.SelectedNode.Nodes.Add(string str);

2.4删除节点

(1)删除节点:this.tvw.SelectedNode.Remove();

3 实例

(1)在新建的winForm设计窗体中添加如下控件:

(2)添加TreeView——AfterSelect事件,三个button的click事件。

(3)具体代码如下:

namespace WindowsFormsApplication10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //treeView1_AfterSelect事件
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            this.txt_out.Text = this.tvw.SelectedNode.Text;
        }

        //添加根节点click事件
        private void btn_AddSource_Click(object sender, EventArgs e)
        {
            if (this.txt_in.Text.Trim() == "")
            {
                MessageBox.Show("要添加的根节点不能为空");
            }
            else
            {
                this.tvw.Nodes.Add(this.txt_in.Text.Trim());
                txt_in.Text = "";
            }
        }

        //删除节点click事件
        private void btn_RemoveNode_Click(object sender, EventArgs e)
        {
            if (this.tvw.SelectedNode == null)
            {
                MessageBox.Show("请选择要删除的节点");
            }
            else
            {
                this.tvw.SelectedNode.Remove();
            }
        }

        //添加子节点click事件
        private void btn_AddChild_Click(object sender, EventArgs e)
        {
            if (this.txt_in.Text.Trim() == "")
            {
                MessageBox.Show("要添加的根节点不能为空");
            }
            else
            {
                if (this.tvw.SelectedNode == null)
                {
                    MessageBox.Show("请选择要添加子节点的节点");
                }
                else 
                {
                    this.tvw.SelectedNode.Nodes.Add(txt_in.Text.Trim());
                    txt_in.Text = "";
                }
            }
        }
    }
}

4 参考文献

TreeNode Class

学习靠自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值