dongdong

博客园 首页 新随笔 联系 订阅 管理
  8 Posts :: 1 Stories :: 87 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 东东 阅读(497) 评论(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 [未注册用户]
不是我说你,这么简单的东西也拿出来
  回复  引用    





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-01-20 13:31 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: