zoukankan      html  css  js  c++  java
  • 控件treeview使用

    一:实现功能,获得选中节点,在选中节点下添加节点,折叠,展开,删除,得到选中节点下checked项,选中根节点其下节点也选中,图标。上图

    二:相关代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TreeView
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 事件:获得选中节点的文本
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_nodeText_Click(object sender, EventArgs e)
            {
                treeView1.HideSelection = false;//将选中的节点显示为选中的状态,默认是隐藏显示状态
                MessageBox.Show(treeView1.SelectedNode.Text);//nodes是节点的集合,每个分支是一个节点
    
    
            }
            /// <summary>
            /// 事件:添加节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_addNode_Click(object sender, EventArgs e)
            {
                //treeView1.Nodes.Add("红马車");//在根节点添加
                //MessageBox.Show(treeView1.Nodes.Count.ToString());//得到根节点的数量
                //treeView1.Nodes[0].Nodes[0].Nodes.Add("红马車");//在根节点的第0根节点下的第0子节点下添加
                //treeView1.Nodes[2].Nodes.Add("红马車");//在第2根节点下添加
                if (treeView1.SelectedNode != null)//是否被选中
                {
                    treeView1.SelectedNode.Nodes.Add(tb_nodeText.Text);//在选中的子节点下添加
                    treeView1.ExpandAll();//自动展开所有的项
                }
    
            }
            /// <summary>
            /// 事件:自动载入
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void Form1_Load(object sender, EventArgs e)
            {
                treeView1.HideSelection = false;//显示选中的阴影
                treeView1.ExpandAll();//自动展开所有的项
                treeView1.CheckBoxes = true;//显示选中框
                treeView1.Nodes[0].Nodes[1].SelectedImageIndex = 3;
                treeView1.Nodes[0].Nodes[1].ImageIndex = 2;
            }
            /// <summary>
            /// 事件:展开全部节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_ExpandAll_Click(object sender, EventArgs e)
            {
                treeView1.ExpandAll();
    
            }
            /// <summary>
            /// 事件:折叠全部
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_CollapseAll_Click(object sender, EventArgs e)
            {
                treeView1.CollapseAll();
    
            }
            /// <summary>
            /// 事件:展开当前选中的同级子节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_expandNow_Click(object sender, EventArgs e)
            {
                if (treeView1.SelectedNode != null)
                {
                    treeView1.SelectedNode.Expand();
                    //treeView1.SelectedNode.ExpandAll();//展开当前选中的所有的子节点
                }
            }
            /// <summary>
            /// 事件:折叠当前同级节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_CollapseNow_Click(object sender, EventArgs e)
            {
                if (treeView1.SelectedNode != null)
                {
                    treeView1.SelectedNode.Collapse();
                }
            }
            /// <summary>
            /// 事件:删除节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_nodeDelete_Click(object sender, EventArgs e)
            {
                //treeView1.Nodes[0].Remove();//删除根节点的第0节点
                treeView1.Nodes[0].Nodes[0].Remove();//第0个根节点下的第0个节点
            }
            /// <summary>
            /// 事件:删除选中的节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_deleteSelectNode_Click(object sender, EventArgs e)
            {
                if (treeView1.SelectedNode != null)
                {
                    treeView1.SelectedNode.Remove();
                }
            }
            /// <summary>
            /// 事件:查看选中节点选中的同级项
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_showChecked_Click(object sender, EventArgs e)
            {
                string str = "选中了:";
                if (treeView1.SelectedNode != null)
                {
                    foreach (TreeNode tn in treeView1.SelectedNode.Nodes)
                    {
                        if (tn.Checked == true)
                        {
                            str += tn.Text;
                        }
                    }
                    MessageBox.Show(str);
                }
            }
            /// <summary>
            /// 事件:选中根节点该节点的子节点也选中
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)//只要有选中就会触发
            {
                foreach (TreeNode tn in e.Node.Nodes)
                {
                    tn.Checked = e.Node.Checked;//根节点的选中状态给子节点
                }
            }
        }
    }
  • 相关阅读:
    学习Python必须要会的知识,在字符串、列表、元组三者之间相互转换的方法
    python字符串中strip() 函数和 split() 函数的详解
    学习Python必须要知道的4个内置函数
    腾讯轻云服务器,如何使用Windows2016、2019
    jenkins 配置git选分支拉取代码
    查看mysql二进制文件(binlog文件)【报错+解决办法】
    apollo源码部署
    Maven镜像仓库替换为阿里云镜像仓库
    gitlab 日志相关
    gitlab本地搭建后用户(默认)头像不显示问题
  • 原文地址:https://www.cnblogs.com/hongmaju/p/3715866.html
Copyright © 2011-2022 走看看