在我的C#WinForms程序中,我有一些按钮,并且我已经为它们分配了一些剪辑。快捷键工作正常,但按钮的文本属性中的下划线不会显示,直到用户点击ALT键。我怎样才能改变这种默认行为?按钮文本属性中的下划线不显示
嗯,这是我的底线
Button1.Text = "&EDIT";
感谢。
在我的C#WinForms程序中,我有一些按钮,并且我已经为它们分配了一些剪辑。快捷键工作正常,但按钮的文本属性中的下划线不会显示,直到用户点击ALT键。我怎样才能改变这种默认行为?按钮文本属性中的下划线不显示
嗯,这是我的底线
Button1.Text = "&EDIT";
感谢。
我发现这篇文章,它使用的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设置,并且对您的程序无能为力。
+1:虽然在技术上不是问题的答案,它仍然是做正确的事:不要用用户设置摆弄。 – OregonGhost 2011-05-05 14:08:35
+1。谢谢,丹尼尔谨慎 – Dmitry 2013-01-05 05:32:57