Quiero capturar las teclas de borrar y no hacer nada cuando se presiona la tecla. ¿Cómo puedo hacer eso en WPF y Windows Forms?Cómo capturar la tecla borrar presionar C#?
Respuesta
No sé sobre WPF, pero pruebe el evento KeyDown
en lugar del evento KeyPress
para Winforms.
Consulte el MSDN article en Control.KeyPress, específicamente la frase "El evento KeyPress no se genera mediante claves que no son caracteres, sin embargo, las claves que no son caracteres plantean los eventos KeyDown y KeyUp".
Para agregar un controlador de WPF KeyDown
:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
{
MessageBox.Show("delete pressed");
e.Handled = true;
}
}
Cuál es casi el mismo que para Windows Forms:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
MessageBox.Show("delete pressed");
e.Handled = true;
}
}
y no se olvide de convertir en KeyPreview
.
Si desea evitar que se ejecuten las acciones predeterminadas de las teclas, configure e.Handled = true
como se muestra arriba. Es lo mismo en Windows Forms y WPF
simplemente marque el manejador key_press
o Key_Down
evento en el control específico y comprobar como para WPF:
if (e.Key == Key.Delete)
{
e.Handle = false;
}
para Windows Forms:
if (e.KeyCode == Keys.Delete)
{
e.Handled = false;
}
Al usar MVVM con WPF puede capturar presionada por tecla en XAML utilizando enlaces de entrada.
<ListView.InputBindings>
<KeyBinding Command="{Binding COMMANDTORUN}"
Key="KEYHERE" />
</ListView.InputBindings>
Me pregunto por qué esto no generó más votos ascendentes: conceptualmente es una forma mucho más limpia. – Vlad
Acepto Vlad, esta es una forma muy limpia de hacerlo. +1 – Jeff
En algunos componentes puede colocar los enlaces directamente en la definición (no sé si esto es muy común, o una cosa única de Telerik):
- 1. Capturar la tecla de retroceso presionar en BlackBerry con jQueryMobile
- 2. Capturar la tecla Atrás presionar en PhoneGap para Android
- 3. Capturar presionar la tecla presionar en el campo de entrada de texto en AS3
- 4. Capturar varias pulsaciones de tecla en C#
- 5. Capturar presionar la tecla sin colocar un elemento de entrada en la página?
- 6. jQuery: cómo capturar la tecla presionando live()
- 7. Cómo capturar la tecla Entrar, presione GtkEntry
- 8. Entradas en SDL (al presionar la tecla)
- 9. ¿Cómo presionar una tecla y soltarla usando C#?
- 10. ¿Cómo diferenciar entre presionar una tecla larga y presionar una tecla con regularidad?
- 11. eliminar la tecla presionar demora en javascript
- 12. Cómo capturar cualquier tecla en X?
- 13. ¿Cómo cerrar un formulario al presionar la tecla de escape?
- 14. Windows Forms: Entrar presionar tecla activa el botón de enviar?
- 15. Java: Registrar <ENTER> presionar la tecla en JTextPane
- 16. ¿Por qué no presionamos la tecla de borrar la tecla Eliminar y la tecla de retroceso?
- 17. JQuery Esc Presión de tecla presionar
- 18. Comportamiento de selección múltiple jqGrid al presionar la tecla especial
- 19. Simular presionar la tecla de tabulación con jQuery
- 20. jqGrid Filtro DatePicker sin presionar la tecla Entrar
- 21. ¿Cómo puedo capturar la pulsación de tecla que desencadena "CellEndEdit" en un DataGridView en C#?
- 22. Cómo simular MAYÚS + Tecla del mouse presionar en java
- 23. ¿Cómo hacer para "presionar cualquier tecla" en python?
- 24. jQuery código desencadenado dos veces para bind ('cambio de tecla') al presionar la tecla
- 25. Cómo capturar una tecla "Listo" presiona desde el teclado virtual
- 26. Capturar una tecla Intro presionada en cualquier lugar de la página
- 27. UITextField Cómo comprobar si se presiona una tecla de borrar
- 28. ¿Cómo capturar la tecla Intro presionada en las páginas que contienen varias formas?
- 29. No se puede capturar la tecla Entrar en el cuadro de texto de WinForms
- 30. ¿Hay alguna manera de obtener la entrada del usuario sin presionar la tecla enter?
¿Qué marco de interfaz de usuario? Winforms? WPF? ...? –
plus ¿en qué contexto? un cuadro de texto, un formulario, etc. – JaSk
@Mehrdad Afshari. Tanto en WPF como en Winforms – thuaso