winformTreeviewCheckbox选择事件

winformTreeviewCheckbox选择事件

2023年6月22日发(作者:)

winformTreeviewCheckbox选择事件   private void treeView1_MouseClick( object sender, MouseEventArgs e) { TreeNode node = eAt( new Point(e.X, e.Y)); if (node != null ) { ChangeChild(node, d); // 影响⼦节点

ChangeParent(node); // 影响⽗节点

} }

// 递归⼦节点跟随其全选或全不选

private void ChangeChild(TreeNode node, bool state) { d = state; foreach (TreeNode tn in ) ChangeChild(tn, state); }

// 递归⽗节点跟随其全选或全不选

private void ChangeParent(TreeNode node) { if ( != null ) { // 兄弟节点被选中的个数

int brotherNodeCheckedCount = 0 ; // 遍历该节点的兄弟节点

foreach (TreeNode tn in ) { if (d == true ) brotherNodeCheckedCount ++ ; } // 兄弟节点全没选,其⽗节点也不选

if (brotherNodeCheckedCount == 0 ) { d = false ; ChangeParent(); } // 兄弟节点只要有⼀个被选,其⽗节点也被选

if (brotherNodeCheckedCount >= 1 ) { d = true ; ChangeParent(); } } }   private void treeView1_MouseClick( object sender, MouseEventArgs e) { TreeNode node = eAt( new Point(e.X, e.Y)); if (node != null ) { ChangeChild(node, d); // 影响⼦节点

ChangeParent(node); // 影响⽗节点

} }

// 递归⼦节点跟随其全选或全不选

private void ChangeChild(TreeNode node, bool state) { d = state; foreach (TreeNode tn in ) ChangeChild(tn, state); }

// 递归⽗节点跟随其全选或全不选

private void ChangeParent(TreeNode node) { if ( != null ) { // 兄弟节点被选中的个数

int brotherNodeCheckedCount = 0 ; // 遍历该节点的兄弟节点

foreach (TreeNode tn in ) { if (d == true ) brotherNodeCheckedCount ++ ; } // 兄弟节点全没选,其⽗节点也不选

if (brotherNodeCheckedCount == 0 ) { d = false ; ChangeParent(); } // 兄弟节点只要有⼀个被选,其⽗节点也被选

if (brotherNodeCheckedCount >= 1 ) { d = true ; ChangeParent(); } } }

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687381911a5850.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信