c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
来源:互联网 发布:mysql 数值字段值拼接 编辑:程序博客网 时间:2024/04/30 14:34
在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作
下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选中全部的子节点;如果取消一个节点的选中状态,当前节点同时又存在父节点的话,就取消父节点的选中状态。
如图所示:
代码如下:
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);
}
}
}
}
原文:http://www.cnblogs.com/virusswb/archive/2008/08/06/1261845.html
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- c# winform TreeView控件点击节点,它的子节点被全部选中或者取消选中
- Extjs TreePanel选中子节点默认选中父节点,取消勾选父节点子节点默认取消
- 树形多选框,选中/取消父节点子节点全选中/取消,选中一个子节点父节点选中,子节点全取消父节点取消
- 需求:子结点选中,父节点随之选中,父节点取消,子节点随之取消
- javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中
- EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中
- c#treeview选中节点
- 在.Net Framework1.1的环境下,调用TreeView控件,生成树图,点选父节点,则所有的子结点也选中,取消选中的父节点下的子结点,则父节点也取消选中状态。
- 如何让treeview的所有节点前面的checkbox全部取消选中?
- 递归获取treeview选中父节点的所有子节点
- TreeView的子节点和父节点级联选中
- TreeView的子节点和父节点级联选中
- TreeView的子节点和父节点级联选中
- C# TreeView级联父子节点(选中子节点父节点也选中,反之选中父节点子节点也选中)
- TreeView中如何选中一个父节点同时选中所有的子节点和孙节点。。。
- TreeView的子节点和父节点级联选中,遍历TreeView并查找和选定节点
- c程序 球
- Eclipse快捷键大全
- CSS项目总结
- 第七章 问题7.7和7.8
- SQL语句
- c#,winform,treeview,选中节点,选中相应的全部子节点,取消节点,取消父节点,小技巧
- vc 建立kvm开发环境
- base之modules
- 需求管理之软件需求分析关注什么
- gridview列内容自动换行的方法
- insert 与select的结合使用
- 连接多行数据
- 通过小故事学习网络硬件协议
- 负载均衡--大型在线系统实现的关键(上篇)(转)