当我右键单击树视图的节点时,我显示了一个上下文菜单。假设我的树视图如下
根 | - > some.txt | - >孩子(对于some.txt) | - > Child1(儿童的孩子)
如果我右键单击Child1,我将有一个AddNew选项。如果用户选择我将显示面板中显示的用户的用户控制表单。
我需要的是,如果用户选择选项为Child1并且用户控件处于活动状态,并且当用户再次右键单击Child1时,我想将上下文菜单设置为不可选字段。可以告诉我该怎么做。
答案 0 :(得分:1)
可以在ContextMenu的Opening事件中完成对ContextMenu项目的可选择性的任何修改,具体取决于场景。
•确保您有办法确定用户控件是否可见(标记,可见性,检查!= null ......适用于您的情况)
•为contextmenu定义一个开放处理程序
•在开场处理程序中,检查控件是否可见(参见第1点)
•如果是,请将菜单项的启用状态设置为false,否则设置为true。
HTH
答案 1 :(得分:0)
您是否正在使用Winforms树视图或Asp.net树视图进行任何第三方用户控制?无论如何,您应该将UserId存储在usercontrol中的某个位置。 因此,当用户单击子节点时,检查节点的UserId和usercontrol中的UserId是否相同。 如果匹配则禁用该选项。
如果上述解决方法不能解决问题,请退回来。