RibbonForm 设置快捷键动态匹配TabControl显示的当前窗口的按钮,触发按钮点击事件

问题由来:

  在程序设计中,使用Dev这套控件的工具条菜单控件所添加的菜单按钮设置快捷键。当打开界面按下快捷键时,会触发该按钮的点击事件,这是一种很方便的功能。

 这种设置针对程序只有一个单一的窗体是很不错,但是一般大的项目都是一个主界面,添加一个TabControl,其它的功能窗体都是作为一个TabPage去show出来。面对这种分格的软件去通过每个界面再设置按钮快捷键就行不通了。

Bug:

  亲自测试出现的一个问题就是,当我在其中一个窗体设置了新增,修改,删除三个按钮的快捷键。另一个窗体只有删除按钮,并且也给它设置快捷键。(同一套软件,统一功能按钮设置快捷键是一样的组合键,比如所有的新增都用Ctrl+N,修改用Ctrl+E,删除用Ctrl+D)

  第一个窗体设置了3个按钮的快捷键,使用都没问题。第二个窗体的删除按钮快捷键使用也没有问题。问题出在第二个窗体没有新增与修改按钮,但是按下快捷键时,会触发第一个窗口的新增与修改按钮的点击事件。这样肯定是有问题的。所以就不能够使用这种直接去界面设置barManage中按钮的itemShortCut属性的方式了。

解决方案:

  面对这种情况,这里记录一种好理解的简单做法。

  首先,找到最外层的那个窗体(也就是软件的主窗体),通过这个窗体的KeyUp事件去捕获按下了什么快捷键,其次判断当前TabControl显示的是哪一个TabPag

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值