一、需求
使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); }
已有 4992 位网友参与,快来吐槽:
发表评论