如何使用c#在特定的树节点上启用和禁用上下文菜单项

本文关键字:启用 菜单项 上下文 树节点 何使用 | 更新日期: 2023-09-27 17:51:12

在我的WinForm应用程序中有一个树节点。它看起来像这样:

- Root Node 1
    - Subnode 1
    - Subnode 2
    - Subnode 3
    - Subnode 4
- Root Node 2
    - Subnode 5
    - Subnode 6

我看到了一个包含三个项目的上下文菜单:"编辑"、"删除"answers"隐藏"。现在我想让"隐藏"为子节点2、子节点3和子节点5启用。这在c#中可能吗?

我知道我可以像这样禁用项:

menuItem1.Enabled = false;

感谢建议:)

如何使用c#在特定的树节点上启用和禁用上下文菜单项

在你的AfterSelect事件的树视图只是检查,看看你所选择的节点等于你想要的子节点。如果是,则禁用菜单项。

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
    {
        if (e.Node.Name.Equals("Node1"))
        {
            DisableHide(true);
        }
        else
        {
            DisableHide(false);
        }
    }
    private void DisableHide(bool state)
    {
        menuItem1.Enabled = state;
    }