winform中treeview中节点选中的技巧
我想实现譬如选择某子节点的时候,父节点会自动选中,如果选择父节点,子节点会全部选中,如果子节点全部不选,父节点也要不选。
贴代码
private void tvwMenu_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Action == TreeViewAction.ByMouse)
{
SoftMenu menu = e.Node.Tag as SoftMenu;
if (menu.IsLast == )
{
if (e.Node.Checked)
{
e.Node.Parent.Checked = true;
}
else
{
int i = ;
foreach (TreeNode n in e.Node.Parent.Nodes)
{
if (n.Checked)
{
i++;
break;
}
}
if (i == )
{
e.Node.Parent.Checked = false;
}
}
}
else
{
SetFullNodesChecked(e.Node);
}
}
} /// <summary>
/// 选中节点 子节点全选或者全不选
/// </summary>
/// <param name="node"></param>
private void SetFullNodesChecked(TreeNode node)
{
foreach (TreeNode n in node.Nodes)
{
n.Checked = node.Checked;
if (n.Nodes.Count > )
{
SetFullNodesChecked(n);
}
}
}
代码比较简单
winform中treeview中节点选中的技巧的更多相关文章
- extjs4 treepanel 多个checkbox先中 多个节点选中 多级节点展开
//<%@ page contentType="text/html; charset=utf-8" %> var checkedNodes = { _data:{}, ...
- Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼
Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼标签: winform treeview drawnode Treeview控 ...
- WinForm 中TreeView 控件的使用实例
新建一个窗体,在本窗体界面上需要以下几个按钮 (一个TreeView 一个 TextBox 三个Button 按钮) 后台代码如下: using System; using System.Co ...
- C# winform TreeView中关于checkbox选择的完美类
public static class TreeViewCheck { /// <summary> /// 系列节点 Checked 属性控制 /// </summary> / ...
- TreeView中节点勾选设置
本文转载:http://www.cnblogs.com/luxiaoxun/p/3288003.html 很不错的文章:http://www.cnblogs.com/allen0118/archive ...
- TreeView中右击直接获取节点的方法
在TreeView中无法直接右击得到一个节点,因为当你选中其中一个右击时(不能是第一个)他会默认跳到第一个. 有时我们要想直接右击得到选中的节点,又时我们又想选中直接右击跳出一个快捷菜单怎么办了! 在 ...
- C# winform TreeView中关于checkbox选择的完美类[转]
http://www.cnblogs.com/kingangWang/archive/2011/08/15/2139119.html public static class TreeViewCheck ...
- C#中treeview的问题,如何区分根节点和子节点以及根节点和根节点的兄弟节点?
根节点的Level属性为0,一级子节点Level属性为1,二级子节点Level属性为2,以此类推:同级节点可以用索引.名称.文本来区分.用索引区分根节点时,TreeView.Nodes[0]就是第一个 ...
- zTree实现单独选中根节点中第一个节点
zTree实现单独选中根节点中第一个节点 1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树& ...
随机推荐
- PHP的基本语法
PHP的基本语法和c#的基本语法是差不多的,在这里只和大家聊一下PHP和C#语法不同的地方. 首先 PHP和c#的标记方式不一样,PHP他是一门脚本语言,JS也是脚本语言,只不过JS是运行在客户端的, ...
- DIY小能手|别买电动滑板车了,咱做一台吧
!! http://www.shoudian.org/thread-316111-1-1.html http://www.jiequer.com/html/news/xinpin/2014/1218/ ...
- acm pc^2的配置与使用
-------------------------------------------------------------------------------------- !!! 转载请注明: 转自 ...
- PAT乙级 1025. 反转链表 (25)
1025. 反转链表 (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个常数K以及一个单链表L,请 ...
- 关于windows操作系统的内核
操作系统内核.从本质上来讲,它本身也是一个程序.比如windows的内核 ntoskrnl.exe 就是一个我们平常看到的 PE 文件,它的位置位于 \WINDOWS\system32\ntoskrn ...
- Linux下/etc/resolv.conf 会被重新写入
主要原因是因为安装了network manager,所以在启动后每次都会重写这个文件. 所以需要在network manager->eth0->ipv4->Automatic(DHC ...
- 创建数据库和表的SQL语句【转】
创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...
- Elasticsearch--Date math在索引中的使用
在Elasticsearch,有时要通过索引日期来筛选某段时间的数据,这时就要用到ES提供的日期数学表达式 描述: 特别在日志数据中,只是查询一段时间内的日志数据,这时就可以使用日期数学表达式,这样可 ...
- shell 日期加减
shell 日期加减运算 比如今日是2012-04-22 $ date -d "+1 day" +%Y-%m-%d 2012-04-23 $ date -d "- ...
- docker-gerrit
Docker Hub https://yeasy.gitbooks.io/docker_practice/content/repository/dockerhub.html 但如何直接下载成压缩文件呢 ...