2010-09-09 5 views
3

J'ai un TextBox sous ma forme et j'ai ajouté cet événement là-dessus:toujours en majuscules ... (C# WinForms)

private void txtValue_KeyDown(object sender, KeyEventArgs e) 
     { 
      MessageBox.Show(e.KeyData.ToString()); 
     } 

Mais il imprime toujours le cas de la lettre supérieure, même si je suis entré une lettre minuscule dans le textBox. S'il vous plaît voir image ci-dessous:

my form

Comment dois-je obtenir l'affichage de droite? Merci ...

+0

Il devrait également y avoir une propriété indiquant si la touche majuscule est pressée –

Répondre

2

KeyDown et KeyUp utilisation KeyEventArgs, qui expose le Keys ENUM via la propriété KeyData. L'énumération n'a pas de représentation pour les valeurs alphabétiques en minuscules.

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

L'événement KeyPress vous permet d'obtenir le caractère réel de la touche pressée par KeyPressEventArgs.KeyChar.

private void txtValue_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    MessageBox.Show(e.KeyChar.ToString()); 
} 
3

Si vous gérez l'événement KeyPress à la place, vous pouvez examiner la propriété KeyChar de KeyPressEventArgs pour obtenir la casse correcte.

+0

merci ............... – yonan2236