Pregunta

Este código muestra hashcodes de botón presionado, pero cuando pulso el botón de Control i no hace nada. Me puede ayudar a alguien?

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

C # WinForms

¿Fue útil?

Solución

Ctrl es una tecla de modificación, por lo que no genera eventos de pulsación de teclas en su propio derecho.

Piense en una pulsación de tecla como un personaje real que se ha escrito (por ejemplo, "A"). En contraste, las teclas de modificación (Ctrl, Alt y Shift) no suelen "tipo" nada, tienden a trabajar en conjunción con otras teclas para modifiy su efecto (por ejemplo, cambio cambia una "a" int una "A"; ctrl a menudo cambia "a" en la secuencia de teclas para "Seleccionar todo", Alt puede intentar abrir el menú principal (si existe) que comienza con la letra "a")

Para utilizar ctrl que generalmente ya sea comprobar su estado en el punto donde se presiona una tecla normal (por ejemplo, cuando se pulsa "A", para determinar si los medios de pulsación de teclas "A" o "Ctrl + A"), o podría comprobar el estado clave de forma asíncrona (por ejemplo, mientras se arrastra, comprobando si ctrl se mantiene presionado para aplicar una modificación de la fricción como limitante a la fricción en un solo eje, o para copiar los archivos que están siendo arrastrados en lugar de moverlos)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top