Anulo ProcessCmdKey
y cuando obtengo el argumento Keys
, quiero verificar si este Keys
es una letra o un dígito o un símbolo especial.Compruebe si las teclas son Carta/Dígito/Símbolo especial
que tienen este fragmento
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
char key = (char)keyData;
if(char.IsLetterOrDigit(key)
{
Console.WriteLine(key);
}
return base.ProcessCmdKey(ref msg, keyData);
}
Todo funciona de letras y dígitos. pero cuando presiono F1-F12, los convierte en letras.
Tal vez alguien sepa mejor manera de resolver esta tarea?
El problema es que está lanzando 'keyData' a un personaje. No puedes hacer eso. Debe usar las constantes definidas en la enumeración 'Keys' para obtener esta información. –
Puede ser que usted podría intentar http://stackoverflow.com/questions/887377/how-do-i-get-a-list-of-all-the-printable-characters-in-c –