2011-05-05 79 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