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

Posted Thomas会写字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C#]TreeView单选模式的实现相关的知识,希望对你有一定的参考价值。

一、需求

使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);

以上是关于[C#]TreeView单选模式的实现的主要内容,如果未能解决你的问题,请参考以下文章

C# treeview 实现选取并复制功能

c# TreeView实现三种选中状态

wpf的TreeView和C#的实现节点方法的API有啥不同?

C# TreeView 拖拽节点到另一个容器Panel中简单实现

C# winform treeview

c# treeview控件 点击根节点后展开相应的子节点,如何实现