Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按钮文本属性中的下划线未显示_C#_Winforms_Button_Keyboard Shortcuts - Fatal编程技术网

C# 按钮文本属性中的下划线未显示

C# 按钮文本属性中的下划线未显示,c#,winforms,button,keyboard-shortcuts,C#,Winforms,Button,Keyboard Shortcuts,在我的C#WinForms程序中,我有一些按钮,并为它们分配了一些shourcuts。快捷键可以正常工作,但在用户点击ALT键之前,按钮文本属性中的下划线不会显示。如何更改此默认行为 这是我的底线 Button1.Text = "&EDIT"; 谢谢。这是Windows的系统范围设置,与您的程序无关。我找到了这篇使用p/Invoke的文章: 它解释了如何在每个应用程序的基础上切换此行为 从链接: +1:虽然从技术上来说,这不是问题的答案,但这仍然是正确的做法:不要摆弄用户设置。 [

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

这是我的底线

Button1.Text = "&EDIT";

谢谢。

这是Windows的系统范围设置,与您的程序无关。

我找到了这篇使用p/Invoke的文章:

它解释了如何在每个应用程序的基础上切换此行为

从链接:



+1:虽然从技术上来说,这不是问题的答案,但这仍然是正确的做法:不要摆弄用户设置。
[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());
}