如何在按钮上显示提示有键盘快捷键?

时间:2012-06-08 11:56:34

标签: c# winforms keyboard-shortcuts

我正在使用Visual Studio 2008中的C#WinForm应用程序。我已经为某些按钮添加了键盘快捷键,通过重写ProcessCmdKey触发按钮单击(CTRL + R,CTRL B等等...)

当用户按住CTRL键时,我想用快捷键文本(“CTRL + R”)显示按钮旁边的提示,工具提示或其他内容,这样用户就可以看到哪些按钮有快捷键和什么组合是。

有没有人对如何解决这个问题有任何其他建议?

2 个答案:

答案 0 :(得分:1)

标题中的&可以实现这一点。当用户按下Alt键时,按钮标题中的&后面的字符变为带下划线,当用户按下该下划线字符键时。点击按钮事件被触发。

(抱歉忘了这个词)。

答案 1 :(得分:0)

我通过创建一个类似于标准工具提示(带标签的小方框)的WPF控件来解决这个问题。然后我在我的表单上对ProcessCmdKey和OnKeyUp进行了覆盖,以便按下CTRL键并键入。

当用户按下并按住CTRL键时,我遍历所有具有快捷键的控件,并在该控件之上创建WPF控件。对于每个WPF控件,我设置相应的快捷方式文本。释放CTRL键后,我删除了OnKeyUp中的所有WPF控件。