C# winform TreeView中关于checkbox选择的完美类(转载)
2008-12-29 09:01
435 查看
public static class TreeViewCheck { /// /// 系列节点 Checked 属性控制 /// /// public static void CheckControl(TreeViewEventArgs e) { if (e.Action != TreeViewAction.Unknown) { if (e.Node != null && !Convert.IsDBNull(e.Node)) { CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) { CheckAllChildNodes(e.Node, e.Node.Checked); } } } } #region 私有方法 //改变所有子节点的状态 private static void CheckAllChildNodes(TreeNode pn, bool IsChecked) { foreach (TreeNode tn in pn.Nodes) { tn.Checked = IsChecked; if (tn.Nodes.Count > 0) { CheckAllChildNodes(tn, IsChecked); } } } //改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 private static void CheckParentNode(TreeNode curNode) { bool bChecked = false; if (curNode.Parent != null) { foreach (TreeNode node in curNode.Parent.Nodes) { if (node.Checked) { bChecked = true; break; } } if (bChecked) { curNode.Parent.Checked = true; CheckParentNode(curNode.Parent); } else { curNode.Parent.Checked = false; CheckParentNode(curNode.Parent); } } } #endregion }
调用方法:在treeview的AfterCheck事件中
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
TreeViewCheck.CheckControl(e)
}
相关文章推荐
- C# winform TreeView中关于checkbox选择的完美类(转载)
- C# winform TreeView中关于checkbox选择的完美类
- C# winform TreeView中关于checkbox选择的完美类[转]
- 关于C# winform treeview 的两个问题(点击空白处的时间响应和复选框选择问题)
- 关于winform下treeview中CheckBox选择的方法
- 关于Winform下,获取Treeview中CheckBox选中项的“.NET研究”技巧
- C# winform TreeView 中 checkbox 如果上级选中 下级则自动选中
- C# WinForm TreeView选择父节点子节点全选
- [总结]关于Winform下,获取Treeview中CheckBox选中项的技巧
- c# WinForm 中 treeview实现整行选择
- C# Winform TreeView CheckBox 部分显示(代码)
- 【转载】TreeView序列化,TreeView串行化,TreeView反序列化 c# winform
- C# WinForm TreeView 递归选择父节点和子节点
- C#WinForm如何在TreeView上面绑定checkbox
- C#Winform TreeView节点选择影响其父子节点选中状态(递归)
- winform Treeview Checkbox选择事件
- 一起谈.NET技术,关于Winform下,获取Treeview中CheckBox选中项的技巧
- 艾伟_转载:C# WinForm开发系列 - CheckBox/Button/Label/ProgressBar
- bootstrap-treeview 关于checkbox选择框不显示的问题
- c# winform TreeView与ListView的项互相拖动的应用[转载]