【发布时间】:2011-08-19 10:09:13
【问题描述】:
在我的 C# WinForms 程序中,我有一些按钮,并为它们分配了一些快捷方式。快捷方式工作正常,但在用户按下 ALT 键之前,按钮文本属性中的下划线不会显示。如何更改此默认行为?
这是我的下划线
Button1.Text = "&EDIT";
谢谢。
【问题讨论】:
标签: c# winforms button keyboard-shortcuts
在我的 C# WinForms 程序中,我有一些按钮,并为它们分配了一些快捷方式。快捷方式工作正常,但在用户按下 ALT 键之前,按钮文本属性中的下划线不会显示。如何更改此默认行为?
这是我的下划线
Button1.Text = "&EDIT";
谢谢。
【问题讨论】:
标签: c# winforms button keyboard-shortcuts
我发现这篇文章使用了 P/Invoke:
http://www.tompuleo.com/2010/05/force-c-to-always-show-keyboard.html
它解释了如何在每个应用程序的基础上切换此行为。
来自链接:
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int SystemParametersInfo(int uAction, int uParam, int lpvParam, int fuWinIni);
private const int SPI_SETKEYBOARDCUES = 4107; //100B
private const int SPIF_SENDWININICHANGE = 2;
[STAThread]
static void Main()
{
// always show accelerator underlines
SystemParametersInfo(SPI_SETKEYBOARDCUES, 0, 1, SPIF_SENDWININICHANGE);
Application.Run(new MainForm());
}
【讨论】:
这是 Windows 的系统范围设置,与您的程序无关。
【讨论】: