2011-05-05 75 views
5

在我的C#WinForms程序中,我有一些按钮,并且我已经为它们分配了一些剪辑。快捷键工作正常,但按钮的文本属性中的下划线不会显示,直到用户点击ALT键。我怎样才能改变这种默认行为?按钮文本属性中的下划线不显示

嗯,这是我的底线

Button1.Text = "&EDIT"; 

感谢。

回答

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()); 
} 
3

这是一个系统范围的Windows设置,并且对您的程序无能为力。

+5

+1:虽然在技术上不是问题的答案,它仍然是做正确的事:不要用用户设置摆弄。 – OregonGhost 2011-05-05 14:08:35

+0

+1。谢谢,丹尼尔谨慎 – Dmitry 2013-01-05 05:32:57