TreeView复选框可用作C#.Net中的单个和单独的复选框

哈姆扎

我需要有7个节点,并且每个节点内部应有近30-40个子节点。每个子节点都必须拥有自己的“功能主体”,就像我们在C#中的Form1中工作时可以拥有一个普通的单个复选框一样。这样我就可以自由地为其分配唯一的任务(例如获取唯一的数据,字符串连接以及还将值解析到另一个函数)。我需要基本上可以访问每个复选框。到目前为止,在创建树列表之后,我尝试的是(为简单起见,仅显示了几行):

treeView1.Nodes.Add("Session");
treeView1.Nodes.Add("Reset");

treeView1.Nodes[0].Nodes.Add("Extended Start");
treeView1.Nodes[1].Nodes.Add("Hard Reset");
treeView1.Nodes[2].Nodes.Add("EOL Mode State Read");
treeView1.Nodes[2].Nodes.Add("Current Err Tracer Read");
treeView1.Nodes[2].Nodes.Add("Read Odometer value from Bus Read");

这会像我需要的那样生成树状视图的GUI,但是访问复选框是我的主要问题!

谢谢

德米特里·埃格罗夫(Dmitry Egorov)

您可以使用包含一些代码来执行任务的委托属性来定义自定义树节点,例如:

class ActionNode : TreeNode
{
    public Action Action { get; }
    public ActionNode(string text, Action action)
        : base(text)
    {
        Action = action;
    }
}

然后添加此类的实例作为子节点,为每个实例分配具体的任务代码。例如:

treeView1.Nodes[0].Nodes.Add(new ActionNode("Extended Start",
    () => { MessageBox.Show("Extended Start"); }));
treeView1.Nodes[1].Nodes.Add(new ActionNode("Hard Reset",
    () => { MessageBox.Show("Hard Reset"); }));
treeView1.Nodes[2].Nodes.Add(new ActionNode("EOL Mode State Read",
    () => { MessageBox.Show("EOL Mode State Read"); }));
treeView1.Nodes[2].Nodes.Add(new ActionNode("Current Err Tracer Read",
    () => { MessageBox.Show("Current Err Tracer Read"); }));
treeView1.Nodes[2].Nodes.Add(new ActionNode("Read Odometer value from Bus Read",
    () => { MessageBox.Show("Read Odometer value from Bus Read"); }));

(注意:顶层节点的实现可能会保留。)

然后,您可以使用节点访问唯一的任务代码,如下所示:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
    var actionNode = e.Node as ActionNode;
    if (actionNode != null)
        actionNode.Action();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#中的TreeView中显示多个复选框?

来自分类Dev

如何在C#中的TreeView中显示多个复选框?

来自分类Dev

C#动态删除复选框

来自分类Dev

如何在 antd 复选框组中单独更新复选框

来自分类Dev

ASP.NET C# 从 DataTable 创建复选框

来自分类Dev

C#复选框和鼠标单击事件

来自分类Dev

单击单个复选框时,取消选中div中的其他复选框

来自分类Dev

FormData和复选框

来自分类Dev

复选框和localStorage

来自分类Dev

C#中的10个复选框多种组合

来自分类Dev

FindControl找不到C#中的复选框

来自分类Dev

无法单击 C# selenium 中的复选框

来自分类Dev

在 c# 中单击 SelectAll 时的 CheckAll 复选框

来自分类Dev

在TreeView上设置复选框的样式

来自分类Dev

表格中的复选框

来自分类Dev

JavaScript中的复选框

来自分类Dev

LotusScript中的复选框

来自分类Dev

JS中的复选框

来自分类Dev

扩展复选框的复选框

来自分类Dev

使用节点和复选框创建TreeView

来自分类Dev

带有复选框和单选按钮的TreeView

来自分类Dev

复选框的新点未将复选框沿y方向推入C#

来自分类Dev

如何通过在列表C#中传递复选框名称来在Winform上创建动态复选框?

来自分类Dev

如何通过在列表C#中传递复选框名称来在Winform上创建动态复选框?

来自分类Dev

基于C#中的DropDownList在Asp.net Gridview中启用“禁用”复选框

来自分类Dev

在Firefox中设置复选框的样式-删除复选框和边框

来自分类Dev

数据中的角度复选框和取消复选框

来自分类Dev

无法在新插件中的复选框标签和复选框框之间同步

来自分类Dev

如果选中该复选框,则true和false都将从复选框中获取

Related 相关文章

热门标签

归档