用于显示多级层次关系

每一项是一个节点,也就是一个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. lvs健康检查脚本第三版

    如下是学习完马哥视频lvs后改写的健康检查脚本第三版.利用工作之余三四个小时时间才把整个逻辑搞清楚,有时候自己都有点蒙圈,尤其是在写到while循环的时候.总的来说非常感谢马哥的慷慨解囊!脚本原稿及思 ...

  2. HDU 4418 Time travel

    Time travel http://acm.hdu.edu.cn/showproblem.php?pid=4418 分析: 因为走到最后在折返,可以将区间复制一份,就变成了只往右走,01234321 ...

  3. SpspringBoot日志logback-spring.xml分环境

    SpspringBoot日志logback-spring.xml分环境 2017年08月02日 03:05:13 cqqianyi1 阅读数:30563 标签: logback slf4j sprin ...

  4. 安卓app连接CC2541-手机休眠后唤醒,通信不再成功

    1. 现在遇到的问题,手机进入休眠状态后唤醒,APP软件和CC2541的通信不正常了,但是CC2541依然检测到时连接状态.如何解决这个问题?手机唤醒之后会重新创建活动? 2.Wakelock 锁机制 ...

  5. SpringBoot学习:整合shiro(验证码功能和登录次数限制功能)

    项目下载地址:http://download.csdn.NET/detail/aqsunkai/9805821 (一)验证码 首先login.jsp里增加了获取验证码图片的标签: <body s ...

  6. libevent学习二(Working with an event loop)

    Runing the loop #define EVLOOP_ONCE             0x01 #define EVLOOP_NONBLOCK         0x02 #define EV ...

  7. hdu2199Can you solve this equation?(解方程+二分)

    Can you solve this equation? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  8. Qt-QML-Button-ButtonStyle-实现鼠标滑过点击效果

    上次实现的自定义的Button功能是用的自定义的Rectangle来实现的,在慢慢的接触了QML之后,发现QML有自己定义的Button 这里盗版贴上Qt帮助文档中的部分关于Button的属性内容 B ...

  9. Android intel X86 图像渲染

    最近几天有个项目需要在intel 芯片的系统上集成我们的视频通话软件.之前只是在ARM平台上使用,对于intel 没测试过,直接运行apk后,本端渲染的图像出错,渲染出的图像很像I420被作为RGB5 ...

  10. 375. Clone Binary Tree【LintCode java】

    Description For the given binary tree, return a deep copy of it. Example Given a binary tree: 1 / \ ...