C# TreeView checkbox 联动打勾

  #region 将树的checkbox选中
private void setNodeTrue(Node selNode) {
Node node = selNode.Parent;
if (node != null) {
node.CheckState = CheckState.Checked;
setNodeTrue(node);
}
}
#endregion
#region 将树的checkbox选中
private void setNodeStateTrue(Node selNode)
{
if (selNode.CheckBoxVisible)
{
selNode.CheckState = CheckState.Checked;
foreach (Node node in selNode.Nodes)
{
setNodeStateTrue(node); }
}
}
#endregion #region 将树的checkbox取消选中
private void setNodeStateFalse(Node selNode)
{
if (selNode.CheckBoxVisible) {
selNode.CheckState = CheckState.Unchecked;
foreach (Node node in selNode.Nodes)
{
setNodeStateFalse(node); }
}
}
#endregion #region 将树的checkbox取消选中
private void setNodeFalse(Node selNode)
{
Node nextNode = selNode.NextNode;
Node previousNode = selNode.PrevNode;
Node praNode = selNode.Parent;
if (praNode != null) {
while (nextNode != null)
{
if (nextNode.Checked)
{
return;
}
nextNode = nextNode.NextNode;
}
while (previousNode != null)
{
if (previousNode.Checked)
{
return;
}
previousNode = previousNode.PrevNode;
}
praNode.CheckState = CheckState.Unchecked;
setNodeFalse(praNode);
}
}
#endregion #region 单击树的checkbox事件
private void tvDevice_AfterCheck(object sender, AdvTreeCellEventArgs e)
{
Node node = tvDevice.SelectedNode;
if (node.Checked)
{ setNodeTrue(node);
setNodeStateTrue(node);
}
else {
setNodeStateFalse(node);
setNodeFalse(node);
}
}
#endregion 原文来自 http://hi.baidu.com/jm_li_cn/item/ce4cec163f02932bd0d66dbb

TreeView checkbox的更多相关文章

  1. JavaScript- 获得TreeView CheckBox里选中项的值

    获得TreeView CheckBox里选中项的值,对JSDOM控制还不是很熟,感觉不太容易.试了很多次终于成功了. 代码如下 <body> <form id="form1 ...

  2. delphi treeview checkbox

    delphi treeview checkbox 最新版Berlin还没有带checkbox的treeview?

  3. WPF之复选MVVM TreeView(TreeView+CheckBox)

    需求背景: 当我们用到权限菜单栏时权限菜单栏属于递归效果,我们需要用到TreeView+CheckBox进行组合复选开发时,我们需要解决此类问题时怎么办,那么就引出今天的小笔记内容 实现方式: 下载M ...

  4. TreeView checkbox 全选

    在使用TreeView 控件 ,进行权限管理的时候,需要使用 checkbox全选. 勾选父节点,子节点全部选中.取消父节点,子节点不选中. 勾选子节点,父节点也选中. 以下是在使用的例子: < ...

  5. kendo treeview checkbox初始化选中问题,没解决,暂时记录下

    想做带有checkbox的tree,由于项目一直用kendo ui for mvc,感觉 牛逼的kendo肯定有tree.结果碰到了选中的问题. 无法根据后台传来的IsChecked字段来设置  tr ...

  6. silverlight中递归构造无限级树treeview+checkbox

    两个实体,其实一个实体也能构造出来,我这里是为了增加一个 checkbox //第一个实体 public class person { public int no { get; set; } publ ...

  7. TreeView CheckBox勾选联动

    http://www.cnblogs.com/excellently/p/TreeViewCheckBox.html 在C# Winform项目中用到了TreeView控件,并且需要勾选的功能.父子节 ...

  8. C# winform treeView checkbox全选反选

    private void treeView2_AfterCheck(object sender, TreeViewEventArgs e)        {            if (e.Acti ...

  9. WinForm控件TreeView 只部分节点显示 CheckBox

    WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示check ...

随机推荐

  1. TCP/IP 邮件的原理

    邮件通过SMTP协议来实现,有它的服务器SMTP服务器. 它是怎么在万维网中运行的呢? 我们来看看两个案例,下面的两个图来展示. 案例一: Alice通过传统的邮件服务器发送给Bob,Bob通过HTT ...

  2. js中State模式的解析及运用

     状态模式,在大的范畴中的定义为当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类.每种编程语言有不同的实现方式,运用的范围也多用于游戏之中. 这里我用javascript来模拟状 ...

  3. xgboost在windows上的安装

    xgboost是一个boosting+decision trees的工具包,看微博上各种大牛都说效果很好,于是下载一个,使用了一下,安装步骤如下. 第一步,编译生成xgboost.exe(用于CLI) ...

  4. 402. Remove K Digits

    (English version is after the code part) 这个题做起来比看起来容易,然后我也没仔细想,先速度刷完,以后再看有没有改进. 用这个来说: 1 2 4 3 2 2 1 ...

  5. Codeforces Round #363 (Div. 2) 698B Fix a Tree

    D. Fix a Tree time limit per test 2 seconds memory limit per test 256 megabytes     A tree is an und ...

  6. 定制Centos系统(基于6.x)

    1.条件准备:      按照需求,最小化安装Centos原生系统           在安装后的系统中找到/root/install.log与/root/anaconda-ks.cfg文件     ...

  7. 洛谷 P1004 方格取数

    题目描述 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放 人数字0.如下图所示(见样例): A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 ...

  8. U3D C# 实现AS3事件机制

    写了很多年的AS3,最近接触U3D感觉事件机制没AS3的爽.咬紧牙关一鼓作气 基于C# 的委托实现了一版.废话不多说上干货. EventDispatcher代码如下: using UnityEngin ...

  9. 帮助招聘程序员的自动考试网站:Codility

    Automated tests of programming skills. Assessment of software developers. Recruitment software. Codi ...

  10. java基础之 IO流

    javaIO流   IO流 : (input  output) 输入输出流 :输入 :将文件读到内存中 输出:将文件从内存输出到其他地方.   IO技术的作用:主要就是解决设备和设备之间的数据传输问题 ...