用于显示多级层次关系

每一项是一个节点,也就是一个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;
}
}
}
}

  

最新文章

  1. ionic中关于ionicView 的生命周期
  2. win2003、win7下操作注册表
  3. noip 模拟赛 匹配 //贪婪策略
  4. 《GK101任意波发生器》升级固件发布(版本:1.0.2build851)
  5. HTTP.sys漏洞验证及防护
  6. VS2013中常用的一些快捷键
  7. Let's Encrypt+Apache+Tomcat实现免费HTTPS
  8. select、pselect、poll和epoll的区别
  9. EventBus实现 - 发布订阅 - XML加载
  10. StringBuilder跟StringBuffer
  11. Java并发框架——AQS之原子性如何保证?
  12. bzoj 2822 [AHOI2012]树屋阶梯 卡特兰数
  13. Flutter 即学即用系列博客——10 混淆
  14. hadoop不同版本有哪些
  15. Unity5中新的Shader体系简析
  16. 用Maven创建第一个web项目
  17. cxf动态调用webservice设置超时,测试线程安全
  18. 线上CPU飚高(死循环,死锁...)
  19. jquery的表单验证方法,一个function能不能同时捕捉点击事件和按键事件?能不能再优化下,有代码。
  20. JAVA 对象序列化——Serializable(转)

热门文章

  1. python3 练习题100例 (一)
  2. golang 兼容不同json结构体解析实践
  3. SpaceVim 语言模块 dart
  4. FPGA烧完程序之后,检测不到网口的
  5. 成都Uber优步司机奖励政策(3月22日)
  6. 成都Uber优步司机奖励政策(1月24日)
  7. Java:当前线程运行完毕,再运行后续逻辑
  8. SpringBoot学习:整合Redis
  9. libevent学习三(Getting an event_base)
  10. C#监听锁屏代码