1

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

当用户按住 CTRL 键时,我想在带有快捷方式文本(“CTRL + R”)的按钮旁边显示提示、工具提示或其他内容,以便用户可以看到哪些按钮具有快捷方式以及组合是什么.

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

4

2 回答 2

1

&在 Caption中可以做到这一点。当用户按下Alt键时,&按钮标题中的字符变为下划线,当用户按下该下划线字符键时。按钮的点击事件被触发。

(抱歉忘记了这个术语)。

于 2012-06-08T11:59:37.647 回答
0

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

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

于 2012-06-13T14:37:21.663 回答