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

C# 如何在有键盘快捷键的按钮上显示提示?,c#,winforms,keyboard-shortcuts,C#,Winforms,Keyboard Shortcuts,我正在Visual Studio 2008中开发一个C#WinForm应用程序。我在一些按钮上添加了键盘快捷键,通过覆盖ProcessCmdKey触发按钮单击(CTRL+R、CTRL-B等…) 当用户按住CTRL键时,我希望在按钮旁边显示提示、工具提示或带有快捷方式文本(“CTRL+R”)的内容,以便用户可以看到哪些按钮具有快捷方式以及它们的组合 有人对如何解决这个问题有任何其他建议吗?如果标题中有&,这是可能的。当用户按下Alt键时,按钮标题中&后的字符变为下划线,当用户按下该下划线字符键时。

我正在Visual Studio 2008中开发一个C#WinForm应用程序。我在一些按钮上添加了键盘快捷键,通过覆盖ProcessCmdKey触发按钮单击(CTRL+R、CTRL-B等…)

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


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

如果标题中有
&
,这是可能的。当用户按下
Alt
键时,按钮标题中
&
后的字符变为下划线,当用户按下该下划线字符键时。单击按钮被触发的事件


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

如果标题中有
&
,这是可能的。当用户按下
Alt
键时,按钮标题中
&
后的字符变为下划线,当用户按下该下划线字符键时。单击按钮被触发的事件


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

我通过创建一个看起来类似于标准工具提示(带标签的小框)的WPF控件解决了这个问题。然后,我在表单上对ProcessCmdKey和OnKeyUp进行了重写,以侦听CTRL-key-down和key-up


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

我通过创建一个类似于标准工具提示(带标签的小框)的WPF控件解决了这个问题。然后,我在表单上对ProcessCmdKey和OnKeyUp进行了重写,以侦听CTRL-key-down和key-up


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

由于某些原因,我们无法在此项目中使用Alt键和标题中的&in,我们必须使用CTRL键……由于某些原因,我们无法在此项目中使用Alt键和标题中的&in,我们必须使用CTRL键…您的意思是,无论哪个控件具有焦点,都应该接收CTRL+R键事件并显示工具提示?否。当用户按住CTRL键时,所有具有快捷方式的控件都应该显示其快捷方式文本。@Zeno:这是Alt键,不是Ctrl。你的意思是,无论哪个控件具有焦点,都应该接收Ctrl+R键事件并显示工具提示?不是。当用户按住Ctrl键时,所有具有快捷方式的控件都应该显示其快捷方式文本。@Zeno:这是Alt键,不是Ctrl键。我不明白为什么需要在WinForms项目中创建WPF控件。想要工具提示,只需使用工具提示即可。不需要WPF互操作。我不明白为什么需要在WinForms项目中创建WPF控件。想要工具提示,只需使用工具提示即可。不需要WPF互操作。