MyException - 我的异常网
当前位置:我的异常网» C# » TreeView的有关问题:遍历节点处理CheckBox方面的

TreeView的有关问题:遍历节点处理CheckBox方面的

www.myexceptions.net  网友分享于:2013-12-31  浏览:62次
TreeView的问题:遍历节点处理CheckBox方面的
在TreeView的AfterCheck事件里写的代码,目的是选中父节点的复选框,所有的子节点的复选框都选中;取消父节点所有子节点取消;点击一个子节点,父节点也选中;如果当前所有子节点都取消选中,则父节点也取消
但是由于是AfterCheck事件,我发现在事件里比如点击了父节点,子节点也选中,结果就又触发了子节点的事件,继而触发父节点,导致死循环~~
用Click事件写的话不知道如何获得点击当前节点

AfterCheck事件:
                        if   (e.Node.Nodes.Count   ==   0)   //如果是叶子节点
                        {
                                if   (e.Node.Checked)   //如果该节点为选中则处理父节点选中
                                {
                                        e.Node.Parent.Checked   =   true;
                                }
                                else   //如果该节点取消选中
                                {
                                        for   (int   i   =   0;   i   <   e.Node.Parent.Nodes.Count;   i++)
                                        {
                                                if   (e.Node.Parent.Nodes[i].Checked)
                                                {
                                                        e.Node.Parent.Checked   =   true;
                                                        break;
                                                }
                                                else
                                                        e.Node.Parent.Checked   =   false;
                                        }
                                }

                        }
                        else//如果是父节点

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有