dongdong

博客园 首页 新随笔 联系 订阅 管理
  8 Posts :: 1 Stories :: 88 Comments :: 0 Trackbacks

采用contexMenu,不要使用TreeAfterCheck事件
        private void CheckedParentNode(TreeNode SeleckNode)
        {
            if (SeleckNode.Parent != null)
            {
                int checkedcount = 0;
                foreach (TreeNode subnode in SeleckNode.Parent.Nodes)
                {
                    if (subnode.Checked)
                    {
                        checkedcount++;
                    }
                }
                SeleckNode.Parent.Checked=checkedcount>0?true:false;
                CheckedParentNode(SeleckNode.Parent);
            }          
        }

        private void CheckSubNode(TreeNode SeleckNode)
        {
            foreach (TreeNode currentNode in SeleckNode.Nodes)
            {
                currentNode.Checked = SeleckNode.Checked;
                CheckSubNode(currentNode);
            }
        }

        private void SelectNode_OK_Cancel(TreeNode SelectNode,bool bolCheck)
        {
            if (SelectNode==null)
            {
                foreach (TreeNode node in treeView1.Nodes)
                {
                    node.Checked = bolCheck;
                    CheckSubNode(node);
                }
            }
            else
            {
                SelectNode.Checked = bolCheck;
                CheckedParentNode(SelectNode);
                CheckSubNode(SelectNode);
            }
        }

        private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            switch (e.ClickedItem.Name)
            {
                case "mnuOK":
                    SelectNode_OK_Cancel(treeView1.SelectedNode,true);
                    break;
                case "mnuCancel":
                    SelectNode_OK_Cancel(treeView1.SelectedNode,false);
                    break;
                case "mnuFullOK":
                    SelectNode_OK_Cancel(null, true);
                    break;
                case "mnuFullCancel":
                    SelectNode_OK_Cancel(null, false);
                    break;
                default:
                    break;
            }
            UpdateMenuStatus();
               
        }

posted on 2006-01-20 13:29 东东 阅读(516) 评论(3)  编辑 收藏 网摘 所属分类: 控件技巧

Feedback

请问有 ComponentArt Web.UI的源代码么?能给我一份么?万分感谢!!
tigerjacky@21cn.com
tigerjacky@126.com

  回复  引用    

#2楼 2006-09-01 14:52 天若有情      
ComponentArt Web.UI 3.0.1623给我一份  好吗
谢谢啊
我的邮箱是wking108@163.com 

  回复  引用  查看    

#3楼 2007-12-11 19:44 deg2007[未注册用户]
不是我说你,这么简单的东西也拿出来
  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 320832 HqgmM4owPxg=



相关文章:

相关链接: