2011-05-05 20 views
5

En mis programas C# WinForms tengo algunos botones y les he asignado algunos shourtcuts. los accesos directos funcionan bien, pero el guión bajo en la propiedad de texto del botón no aparece hasta que el usuario pulsa la tecla ALT. ¿Cómo puedo cambiar este comportamiento predeterminado?El subrayado en la propiedad de texto del botón no aparece

Bueno este es mi guión bajo

Button1.Text = "&EDIT"; 

Gracias.

Respuesta

6

He encontrado este artículo que utiliza P/Invoke:

http://www.tompuleo.com/2010/05/force-c-to-always-show-keyboard.html

En él se explica cómo activar este comportamiento en función de cada aplicación.

Desde el enlace:


[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

Esa es una configuración de sistema de Windows y no tiene nada que ver con su programa.

+5

+1: Aunque técnicamente no es una respuesta a la pregunta, sigue siendo lo que hay que hacer: No jugar con la configuración del usuario. – OregonGhost

+0

+1. Gracias, Daniel por la precaución – Dmitry

Cuestiones relacionadas