我的WinForm应用程序中有一个树节点。它看起来像这样:
- Root Node 1
- Subnode 1
- Subnode 2
- Subnode 3
- Subnode 4
- Root Node 2
- Subnode 5
- Subnode 6
我得到了一个包含三个项目的上下文菜单:“编辑”,“删除”和“隐藏”。现在我想要为Subnode 2,Subnode 3和Subnode 5启用“Hide”。这在C#中是否可行?
我知道我可以禁用这样的项目:
menuItem1.Enabled = false;
建议赞赏:)
答案 0 :(得分:2)
在树视图的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;
}