private void TreeNodeChild(TreeNode ATreeNode, bool AChecked) // 同步子节点
{
if (ATreeNode == null) return;
ATreeNode.Checked = AChecked;
foreach (TreeNode vTreeNode in ATreeNode.Nodes)
TreeNodeChild(vTreeNode, AChecked);
}
private void TreeNodeCheck(TreeNode ATreeNode, bool AChecked)
{
if (ATreeNode == null) return;
ATreeNode.Checked = AChecked;
if (AChecked) // 如果选中本节点这就是选中全部上级节点
{
TreeNodeCheck(ATreeNode.Parent, AChecked);
}
else
{
if (ATreeNode.Parent != null && ATreeNode.Parent.Checked)
{
foreach(TreeNode vTreeNode in ATreeNode.Parent.Nodes)
if (vTreeNode.Checked) return;
TreeNodeCheck(ATreeNode.Parent, AChecked); // 判断是否所有的兄弟节点Checked都为false
}
}
}
private bool updateTreeNode= false;
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if (updateTreeNode) return; // 如果在刷新中
updateTreeNode = true;
try
{
TreeNodeChild(e.Node, e.Node.Checked); // 同步子节点
TreeNodeCheck(e.Node, e.Node.Checked);
}
finally
{
updateTreeNode = false;
}
}
分享到:
相关推荐
C# TreeView重绘边框源码
C# Treeview 数据导出到Excel,很好玩的.有注释....
C#TreeView的使用实例,新手可以下载来看看
C#TreeView控件转存XML加载XML利用Helper 此窗体有两个TreeView 一键复制TreeView1 到 TreeView2 而且保留tree1中的的image 存储xml 加载xml 清除node 加载treeview 用到了tag,selectimage等参数
C#treeview的添加节点,查询节点,递归调用和显示节点等齐全的操作都有,以及利用制作了一个类似表格的横向树的treeview
C# List集合 动态绑定 treeView
c#Treeview处理大数据xml,包括xml的加载,Treeview的显示、查询
C# treeView节点动态删除和添加示例,本源码演示了创建一个treeView父节点,创建了三个子节点,然后演示了将这3个子节点添加到父节点中,最后演示了使用Remove方法移除指定的TreeView节点项,添加节点和删除节点定义...
实现TreeView TreeNode递归添加文件夹 可以的话 给我好评论 谢谢啦
次节点控制根节点的用法。选中次节点可以自动选中根节点。选中根节点也可以自动全选次节点
好东西就大家分享,整理的c#treeview控件的函数方法
c# treeview 实现拖拽功能,可以用鼠标随意拖拽。很不错的功能。
C#Tree View右键菜单,树节点编辑,增加节点,删除节点,复制粘贴节点
C# TreeView右键菜单简单例子 在界面上要拖个contextMenuStrip控件并将TREEVIEW的和它绑定
C#关于treeview序列化的一个应用程序
这个是我自己写的 可能有点小瑕疵 如果我发现了我会解决并且去更新这个资源 如果哪个大佬发现后 提出解决办法 我也将会更新
主要介绍了C#中TreeView节点的自定义绘制方法,实例展示了TreeView节点的操作技巧,需要的朋友可以参考下
一个WinForm的TreeView,某node的CheckBox初始状态为false,当双击这个node的checkbox时,会出现很奇怪的情况: 第一次双击checkbox,checkbox显示的状态会切换两次状态,unchecked-> checked-> unchecked,而...
c# treeview 添加节点后面button触发事件
C# 实现treeview节点的三种选择状态,相比微软提供的checkbox控件的两种选择状态,该实例多了子节点部分选中,父节点实现半选状态