• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

[C#]TreeView单选模式的实现

C# OceanCoder 2017-10-15 4921 次浏览 0个评论

一、需求

使TreeView实现单选模式

二、实现

1、TreeView控件属性CheckBoxes设置为True

2、为TreeView添加AfterCheck事件,并在事件中调用如下方法

        /// <summary>
        /// 树形框-单选模式的实现,放在事件 _AfterCheck下
        /// </summary>
        /// <param name="tv"></param>
        /// <param name="e"></param>
        public static void TreeViewSingleSelectedAndChecked(TreeView tv, TreeViewEventArgs e)
        {
            if (e.Action == TreeViewAction.ByMouse)
            {
                if (e.Node.Checked)
                {
                    tv.SelectedNode = e.Node;
                    CancelCheckedExceptOne(tv.Nodes, e.Node);
                }
            }
        }
        private static void CancelCheckedExceptOne(TreeNodeCollection tnc,TreeNode tn)
        {
            foreach (TreeNode item in tnc)
            {
                if (item != tn)
                    item.Checked = false;
                if (item.Nodes.Count > 0)
                    CancelCheckedExceptOne(item.Nodes, tn);
            }
        }

三、示例

        private void treeView_1_AfterCheck(object sender, TreeViewEventArgs e)
        {
            TreeViewSingleSelectedAndChecked(treeView_1, e);
        }



已有 4921 位网友参与,快来吐槽:

发表评论