c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
来源:互联网 发布:自动报价软件 编辑:程序博客网 时间:2024/04/30 12:26
我们在分类组织数据的时候常常会用到TreeView控件,为了便于对节点进行选择操作,我们通常会将TreeView控件的属性设置为checkbox。通过点击父节点来快速的选中或取消其所有的子节点。那么我们如何实现这个功能呢?一下就是实现该功能的源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication6
{
public partial class TreeViewTest : Form
{
public TreeViewTest()
{
InitializeComponent();
}
private void TreeViewTest_Load(object sender, EventArgs e)
{
treeView1.ExpandAll();
}
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Action == TreeViewAction.ByMouse)
{
textBox1.Text = e.Node.Text;
if (e.Node.Checked)
{
//取消节点选中状态之后,取消所有父节点的选中状态
setChildNodeCheckedState(e.Node, true);
}
else
{
//取消节点选中状态之后,取消所有父节点的选中状态
setChildNodeCheckedState(e.Node, false);
//如果节点存在父节点,取消父节点的选中状态
if (e.Node.Parent != null)
{
setParentNodeCheckedState(e.Node, false);
}
}
}
}
//取消节点选中状态之后,取消所有父节点的选中状态
private void setParentNodeCheckedState(TreeNode currNode, bool state)
{
TreeNode parentNode = currNode.Parent;
parentNode.Checked = state;
if (currNode.Parent.Parent != null)
{
setParentNodeCheckedState(currNode.Parent, state);
}
}
//选中节点之后,选中节点的所有子节点
private void setChildNodeCheckedState(TreeNode currNode, bool state)
{
TreeNodeCollection nodes=currNode.Nodes;
if(nodes.Count>0)
foreach (TreeNode tn in nodes)
{
tn.Checked = state;
setChildNodeCheckedState(tn, state);
}
}
}
}
0 0
- c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c# winform 遍历TreeView控件(属性为checkbox时)中,所有被选中的节点
- javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中
- C# TreeView 控件选中父节点后子节点自动全选的代码 [转贴] [测试有效]
- C# TreeView级联父子节点(选中子节点父节点也选中,反之选中父节点子节点也选中)
- C#中TreeView单击选中子节点
- C#中TreeView选中父节点同时选中所有的子节点
- C#中TreeView选中父节点同时选中所有的子节点
- 在.Net Framework1.1的环境下,调用TreeView控件,生成树图,点选父节点,则所有的子结点也选中,取消选中的父节点下的子结点,则父节点也取消选中状态。
- TreeView控件实现选中父节点时全选子节点
- TreeView控件实现选中父节点时全选子节点
- TreeView控件实现选中父节点时全选子节点
- TreeView有checkbox 当父节点选择框选中 子节点将全部选中 代码怎么写的?
- 如何让treeview的所有节点前面的checkbox全部取消选中?
- EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中
- CTreeCtrl带CHECKBOX属性,实现联动效果(点击父节点全部子节点被选中)
- 管理线程之创建线程
- 在eclipse中以本地的方式安装插件
- gravity的start、end
- 1.4 起步 - 安装 Git
- nor flash启动与nand flash启动的区别
- c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
- 每天一算法
- 哈夫曼编码解码实现
- php的chr和ord函数实现字符加减乘除运算实现代码
- VS2010下用gSoap实现简单加法实例
- datagrid中load,reload,loadData方法的区别
- JDK,JRE,JVM区别与联系
- 尤尼科技首推3D打印教材 助力3D打印基础教育产业
- 理解 Objective-C Runtime