各位大虾:
 目前我在做一个系统,同一个编译器的界面有不同的窗口,假设为A\B\C三个窗口,
 A窗口功能: 复制、删除
 B窗口功能: 粘贴、下载
 C窗口功能: 重命名、刷新
我在窗口里添加了一个contextmenustrip控件,把A\B\C三个窗口的功能都写上去了,但是我现在遇到的问题是:要在不同的窗口显示不同的功能,比如我列出了A\B\C三个窗口的功能,想做出的效果就是:能用的功能——显示;不能用的功能——恢显;
有哪位高手解决一下??

解决方案 »

  1.   

    ContextMenuStrip有一个Opening时间。这个事件是在菜单正在打开时被调用。
    在这个事件里获取到下拉菜单的父容器控件,判断父容器控件(3个窗口)分别设置下拉菜单的属性就可以了。
      

  2.   

    看你是用什么方式显示的,
    如果是通过设置Control的ContextMenuStrip属性显示的,可以判断ContextMenuStrip.Parent属性是哪类窗口
    如果是通过Mouse事件中用ContextMenuStrip.Show()方法显示的,可以判断事件参数的sender是哪类窗口