用了一个dotnetbar中DockContainerItem,可以打开多个item,每一个item中都有一个自定的用户控件,用户控件中有menuitem.
每一个menutiem的按钮都有快捷键。问题出现了:
打开一个item时,快捷键是好用的,再打开一个item时,快捷键上执行的还是第一个打开的item上用户控件的事件。当关闭第一个打开的item时,第二个item用户控件上的快捷键才好用。希望高手们帮忙想个办法,如何能解决这个问题。谢谢!

解决方案 »

  1.   

    1、快捷键是不是有重叠?
    2、这个控件的快捷键是不是值对当前打开的item下的控件有效?
      

  2.   

    打开一个item时,快捷键是好用的,再打开一个item时,快捷键上执行的还是第一个打开的item上用户控件的事件。当关闭第一个打开的item时,第二个item用户控件上的快捷键才好用。
    第二个打开的item成为焦点控件了吗?
      

  3.   

    1、快捷键是不是有重叠?--是的,快捷键是一样的。
    2、这个控件的快捷键是不是值对当前打开的item下的控件有效?--是的。
    3.第二个打开的item成为焦点控件了吗?--是的,成为焦点。
      

  4.   

    在同一个焦点窗口中,不同的功能项要设置不同的快捷键。
    --
    visual studio当打开多个文档进行编辑时,会打开多个sheet,每一个sheet中的快捷键也都是一样的啊,哪个sheet为活动的,快捷键就针对哪个sheet操作。
      

  5.   

    哦,自己解决了。弯曲了一下。
    虽然不知道快捷键是如何加载和注销的。但通过另一个方法也实现了。
    在ContainerItem改变时,把当前的item的MenuBar设置为可用,把不是当前的item的MenuBar设置为不可用。这样,快捷键就工作了。