用于显示多级层次关系

每一项是一个节点,也就是一个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逻辑判断 () not and or

    python逻辑判断 () not and or 优先级关系:()>not>and>or 运算符示意 not –表示取反运算. and –表示取与运算. or –表示取或运算. or ...

  2. NOI2002银河英雄传说-带权并查集

    [NOI2002]银河英雄传说-带权并查集 luogu P1196 题目描述 Description: 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年, ...

  3. struts2学习笔记四

    一.contextMap中的数据操作 root根:List 元素1 元素2 元素3 元素4 元素5 contextMap:Map key value application Map key value ...

  4. 北京Uber优步司机奖励政策(2月20日~2月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  5. 2 进程multiprocessing [mʌltɪ'prəʊsesɪŋ] time模块

    1.multiprocessing模块 multiprocessing模块就是跨平台版本的多进程模块. multiprocessing模块提供了一个Process类来代表一个进程对象, 2.Proce ...

  6. Windows 显示环境变量

    echo %% D:\>echo %python3% C:\Users\zy\AppData\Local\Programs\Python\Python36 D:\> 我的环境变量如下:

  7. 封装一个CSVHelper

    public class CSVHelper { /// <summary> /// CSV转换成DataTable(OleDb数据库访问方式) /// </summary> ...

  8. /proc/meminfo详解

    cat /proc/meminfo   读出的内核信息进行解释, 下篇文章会简单对读出该信息的代码进行简单的分析. MemTotal:       507480 kB MemFree:         ...

  9. leetcode笔记9 Move Zeroes

    题目要求: Given an array nums, write a function to move all 0's to the end of it while maintaining the r ...

  10. hive和关系型数据库

    1)hive和关系型数据库存储文件的系统不同.  hive使用hdfs(hadoop的分布式文件系统),关系型数据库则是服务器本地的文件系统: 2)hive使用的计算模型是mapreduce,而关系型 ...