按钮文本属性中的下划线不会显示

时间:2011-05-05 13:53:53

标签: c# winforms button keyboard-shortcuts

在我的C#WinForms程序中,我有一些按钮,我已经为它们分配了一些shourtcuts。快捷方式工作正常,但按钮的文本属性中的下划线在用户点击ALT键之前不会显示。如何更改此默认行为?

这是我的下划线

Button1.Text = "&EDIT";

感谢。

2 个答案:

答案 0 :(得分:6)

我发现这篇文章使用了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());
}

答案 1 :(得分:3)

这是Windows的系统范围设置,不能对您的程序执行任何操作。