易采站长站为您分析C#中TreeView实现适合两级节点的选中节点方法,实例分析了C#中TreeView节点操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#中TreeView实现适合两级节点的选中节点方法。。具体如下:
- class TreeViewChecked {
- bool isfirst = true; public TreeViewChecked(TreeView treeView)
- { treeView.AfterCheck += new TreeViewEventHandler(treeView_AfterCheck);
- treeView.AfterSelect += new TreeViewEventHandler(treeView_AfterSelect); }
- /// <summary> /// 点击文字,选中checkbox
- /// </summary> /// <param name="sender"></param>
- /// <param name="e"></param> void treeView_AfterSelect(object sender, TreeViewEventArgs e)
- { if (e.Node.Checked)
- e.Node.Checked = false; else
- e.Node.Checked = true; if (isfirst)
- { isfirst = false;
- e.Node.TreeView.Nodes[0].Checked = false; }
- } /// <summary>
- /// 选中子节点,勾选父节点,选中父节点,勾选子节点 /// </summary>
- /// <param name="sender"></param> /// <param name="e"></param>
- void treeView_AfterCheck(object sender, TreeViewEventArgs e) {
- CheckTreeNode(e.Node); }
- /// <summary> /// 选中子节点,勾选父节点,选中父节点,勾选子节点
- /// </summary> /// <param name="node"></param>
- private void CheckTreeNode(TreeNode node) {
- node.TreeView.AfterCheck -= new TreeViewEventHandler(treeView_AfterCheck); //如果不等于null,说明选择的是子节点
- if (node.Parent != null) {
- TreeNode parent = node.Parent as TreeNode; //如果该节点是选中的
- if (node.Checked) {










