我正在使用Visual Studio 2008中的C#WinForm应用程序。我已经为某些按钮添加了键盘快捷键,通过重写ProcessCmdKey触发按钮单击(CTRL + R,CTRL B等等...)
当用户按住CTRL键时,我想用快捷键文本(“CTRL + R”)显示按钮旁边的提示,工具提示或其他内容,这样用户就可以看到哪些按钮有快捷键和什么组合是。
有没有人对如何解决这个问题有任何其他建议?
答案 0 :(得分:1)
标题中的&
可以实现这一点。当用户按下Alt
键时,按钮标题中的&
后面的字符变为带下划线,当用户按下该下划线字符键时。点击按钮事件被触发。
(抱歉忘了这个词)。
答案 1 :(得分:0)
我通过创建一个类似于标准工具提示(带标签的小方框)的WPF控件来解决这个问题。然后我在我的表单上对ProcessCmdKey和OnKeyUp进行了覆盖,以便按下CTRL键并键入。
当用户按下并按住CTRL键时,我遍历所有具有快捷键的控件,并在该控件之上创建WPF控件。对于每个WPF控件,我设置相应的快捷方式文本。释放CTRL键后,我删除了OnKeyUp中的所有WPF控件。