Tengo un .NET TextBox con la función Autocompletar en el formulario. El formulario también ha definido AcceptButton y CancelButton. Si intento enviar una sugerencia con la tecla Intro o cierro la lista desplegable con Esc, mi formulario se cierra. ¿Cómo puedo evitar este comportamiento?Autocompletar de TextBox y botones predeterminados
5
A
Respuesta
2
No asigne las propiedades de formulario AcceptButton y CancelButton. Establezca DialogResult en los botones Evento OnClick.
0
en lugar de Aceptar y Cancelar puede ir para el siguiente enfoque:
- Establecer TeclaDePresentaciónPreliminar propiedades para el formulario en true.
Manejar la KeyDown caso de la forma, en el método de control puede tener algo similar al código de abajo
switch (e.KeyCode) { case Keys.Enter: { if (!txtAuto.Focused) { Save(); } break; } case Keys.Escape: { if (!txtAuto.Focused) { Close(); } break; } }
2
Una manera sencilla es eliminar AcceptButton y CancelButton propiedades mientras está en el cuadro de texto de autocompletar:
public Form1()
{
InitializeComponent();
txtAuto.Enter +=txtAuto_Enter;
txtAuto.Leave +=txtAuto_Leave;
}
private void txtAC_Enter(object sender, EventArgs e)
{
AcceptButton = null;
CancelButton = null;
}
private void txtAC_Leave(object sender, EventArgs e)
{
AcceptButton = btnOk;
CancelButton = btnCancel;
}
0
Otra opción es derivar su propia clase de cuadro de texto personalizado que realiza la validación cuando se pulsa enture/Retorno: No se disparó
public class MyTextBox : TextBox
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter || keyData == Keys.Return)
{
// Perform validation here
return true;
}
else
return false;
}
}
Cuestiones relacionadas
- 1. Highchart ocultar botones predeterminados
- 2. Establecer los botones predeterminados "Aceptar" y "Cancelar"
- 3. ¿Cómo hacer un autocompletar TextBox en ASP.NET?
- 4. Autocompletar [contiene en lugar de comenzar con] en winform TextBox
- 5. firefox autocompletar 'enter' presionar tecla en autocompletar desencadenar enter on textbox
- 6. Orden de argumentos predeterminados y no predeterminados
- 7. En XAML, cómo decir: ancho y alto predeterminados, p. Ej. TextBox
- 8. Winforms, databinding, Listbox y textbox
- 9. WPF TextBox y Comportamiento de desplazamiento
- 10. MVVM y la propiedad TextoTexto de TextBox
- 11. Botones de entrada de estilo para iPad y iPhone
- 12. Emacs, Objective-C, y autocompletar
- 13. Combobox y autocompletar en C#
- 14. Cómo deshabilitar copiar y cortar en TextBox?
- 15. Diferencia entre Textbox y RichTextbox wpf?
- 16. XPATHS y espacios de nombres predeterminados
- 17. Función de argumentos y encabezados predeterminados
- 18. Toast de Android, colores predeterminados y alfa
- 19. Archivo de configuración SCons y valores predeterminados
- 20. Construcción de constructores nuevos y no predeterminados
- 21. UIAlertViewDelegate: clickedButtonAtIndex y dos botones
- 22. Solr jQuery Autocompletar no autocompletar
- 23. Contraseña de TextBox Char
- 24. Atrás/Adelante botones y usabilidad
- 25. Cambiar los botones predeterminados en Java para que se vean "Mejor"
- 26. jQuery y grupos de botones de opción
- 27. Asociar pares de valores-clave con textBox autoComplete extender
- 28. ¿Cómo funciona el autocompletado textbox 'etiquetas' de StackOverflow?
- 29. Constructores y herencia predeterminados en Java
- 30. Entity Framework 4 y valores predeterminados
evento KeyDown del formulario. – Zhenya