用于显示多级层次关系

每一项是一个节点,也就是一个Node,是一个TreeNode节点,Nodes是该控件节点的集合。

selectedNode用户选中的节点,如果没有选中则为null

1. 当选中后,光标离开依然是选中状态时,则应该修改HideSelection

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 TreeView的使用
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(treeView1.SelectedNode.Text);
} private void button2_Click(object sender, EventArgs e)
{
//Nodes是第一级节点的集合,在第一级节点添加,即根节点
//treeView1.Nodes.Add()
//在第一个根节点的下一级添加
//treeView1.Nodes[0].Nodes.Add("aaa"); //根据用户选择添加信息
if(treeView1.SelectedNode != null)
{
treeView1.SelectedNode.Nodes.Add(textBox1.Text);
}
else
{
treeView1.Nodes.Add(textBox1.Text);
} } private void Form1_Load(object sender, EventArgs e)
{
//展开所有节点
treeView1.ExpandAll();
} private void button3_Click(object sender, EventArgs e)
{
treeView1.CollapseAll();
} private void button4_Click(object sender, EventArgs e)
{
treeView1.ExpandAll();
} private void button5_Click(object sender, EventArgs e)
{ treeView1.SelectedNode.Collapse();
} private void button6_Click(object sender, EventArgs e)
{
//当前节点的的下一级节点
treeView1.SelectedNode.Expand(); //当前节点的所有节点
//treeView1.SelectedNode.ExpandAll();
} private void button7_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Remove();
} private void button8_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Text = textBox2.Text;
} private void button9_Click(object sender, EventArgs e)
{
string str = "选中的节点:\n";
foreach(TreeNode tn in treeView1.Nodes[0].Nodes[0].Nodes)
{
if(tn.Checked)
str += tn.Text+"\n";
} MessageBox.Show(str);
} private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{ } private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
foreach(TreeNode tn in e.Node.Nodes)
{
tn.Checked = e.Node.Checked;
}
}
}
}

  

TreeView的使用的更多相关文章

  1. MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件

    类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...

  2. WPF 自定义列表筛选 自定义TreeView模板 自定义ListBox模板

    有很多项目,都有数据筛选的操作.下面提供一个案例,给大家做参考. 左侧是数据源,搜索框加TreeView控件,右侧是ListBox控件.在左侧数据列点击添加数据,然后点击确定,得到所筛选的数据. 下面 ...

  3. WinForm 进程、线程、TreeView递归加载、发送邮件--2016年12月13日

    进程:一个程序就是一个进程,但是也有一个程序需要多个进程来支持的情况 进程要使用的类是:Process它在命名空间:System.Diagnostics; 静态方法Start(); Process.S ...

  4. wpf TreeView

    <Window x:Class="WpfTutorialSamples.TreeView_control.TreeViewDataBindingSample"        ...

  5. 【转载】关于treeview的多层显示的科学用法!

    http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-b ...

  6. winform进程、线程、TreeView递归加载

    进程: 一般来说,一个程序就是一个进程,不过也有一个程序需要多个进程支持的情况. 进程所使用的类:Process 所需命名空间:System.Diagnostics; 可以通过进行来开启计算机上现有的 ...

  7. TreeView 使用方法:(在View.Details模式下)

    1.建立TreeView的標題         2.建立TreeView的Item         3.在TreeView的Item中的建立SubItem                  如果將各部 ...

  8. ASP.NET通过递归添加树(Treeview)

    先来看看效果,基本上就是这样的. 所谓树,无非就是2点,第一个:根节点,第二:叶子节点,其中叶子节点中还可能有叶子节点,但是根节点始终只有一个. 下面贴上 各部分的代码 1.PAGE_LOAD载入事件 ...

  9. TreeView控件使用

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

  10. 怎样制作web版的folder treeview

    文件夹treeview的效果 这样的treeview在实际项目中使用的场景较多. 既然用的多,那就DIY一遍,虽没有面面俱到,但也要将其基本实现完成一遍. 1.先准备图标素材  file.gif,文件 ...

随机推荐

  1. python函数的四种参数传递方式

    python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...

  2. Java学习笔记二十一:Java面向对象的三大特性之继承

    Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...

  3. 472. Concatenated Words

    class Solution { public: vector<string> res; vector<string> findAllConcatenatedWordsInAD ...

  4. keil5最新版安装与破解

    1. 下载链接: https://pan.baidu.com/s/1BIrhqmxWdHY7hvihE0Wd4A 密码: cp45 2. 解压缩后得到: 3. 运行mdk526.exe安装keil5. ...

  5. java 深入理解引用类型

    该博客原创自某位博主,原创博客链接https://www.cnblogs.com/SilentCode/p/4858790.html 本人在全文通读的基础上修改了原文的一点小bug,并在原文基础上继续 ...

  6. 小程序开发-13-小程序wxs的应用

    内容简介的换行 问题:因为微信的<text></text>标签能够转义\n,所以从服务器加载来的数据我们可以直接放到这个标签中,\n就会自己换行了.问题是服务器返回来的数据多了 ...

  7. Hadoop端口

    本文转自:<Hadoop默认端口应用一览> Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边 ...

  8. program files与program files(x86)的区别

    简单来说:Program Files (x86)存放了一些32位的系统文件.它和正常的Program Files以及Windows文件夹一样,都属于系统文件夹,请勿随意改动. 64位Windows中提 ...

  9. logger 配置文件详解

    Logback配置文件详解 Logback,Java 日志框架. Logback 如何加载配置的 logback 首先会查找 logback.groovy 文件 当没有找到,继续试着查找 logbac ...

  10. 【POJ2182】Lost Cows

    [POJ2182]Lost Cows 题面 vjudge 题解 从后往前做 每扫到一个点\(i\)以及比前面小的有\(a[i]\)个数 就是查询当前的第\(a[i]+1\)小 然后查询完将这个数删掉 ...