在我的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