Ho un .NET TextBox con funzionalità AutoComplete nel modulo. Il modulo ha anche AcceptButton e CancelButton definiti. Se provo a inviare un suggerimento con il tasto Invio o chiudi il menu a discesa con Esc, il mio modulo si chiude. Come posso prevenire questo comportamento?Pulsanti di completamento automatico e default di TextBox
5
A
risposta
2
Non assegnare le proprietà del modulo AcceptButton e CancelButton. Imposta DialogResult nei pulsanti OnClick evento.
0
invece di accettare e pulsanti Annulla si può andare per il seguente approccio:
- Impostare KeyPreview proprietà per la maschera su true.
Maneggiare il KeyDown caso di forma, nel metodo del gestore si può avere qualcosa di simile al codice qui sotto
switch (e.KeyCode) { case Keys.Enter: { if (!txtAuto.Focused) { Save(); } break; } case Keys.Escape: { if (!txtAuto.Focused) { Close(); } break; } }
2
modo semplice è quello di rimuovere AcceptButton e CancelButton proprietà mentre ti trovi nella casella di testo di completamento automatico:
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
Un'altra opzione è quella di derivare una classe TextBox personalizzata che esegue la convalida quando si preme Enture/ritorno: non sarà licenziato
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;
}
}
Problemi correlati
- 1. textbox completamento automatico (Multi Line)
- 2. TextBox con completamento automatico in WPF
- 3. Completamento automatico [contiene invece di iniziare con] in Winform TextBox
- 4. Completamento automatico di Jquery e Gmail Completamento automatico
- 5. jQuery UI-completamento automatico e completamento automatico di Google Chrome
- 6. Completamento automatico di Parsekit
- 7. Textview di completamento automatico Android e Cursoradapter
- 8. Completamento automatico di Knockout e jQuery
- 9. Controllo TextBox automatico completo
- 10. Evento di Onchange dopo il completamento automatico
- 11. Funzione di completamento automatico iOS
- 12. Completamento automatico automatico in TextMate
- 13. Completamento automatico in ACE editor di
- 14. Errore di completamento automatico di ReSharper?
- 15. Campi di completamento automatico di Microsoft Access?
- 16. Eclipse PDT Completamento automatico
- 17. Completamento automatico per gtk3 e pygobject
- 18. Eclipse: completamento automatico istantaneo
- 19. Ckeditor con completamento automatico?
- 20. PyCharm completamento automatico lento
- 21. Completamento automatico NSTextField
- 22. Completamento automatico dell'input HTML
- 23. Completamento automatico JTextField e tasti freccia
- 24. Completamento automatico in CEDET?
- 25. JSP EL e il completamento automatico
- 26. Completamento Emacs: completamento automatico o azienda?
- 27. jQueryUI completamento automatico - dati personalizzati e visualizzazione
- 28. Completamento automatico Postgresql?
- 29. jQuery completamento automatico
- 30. Completamento automatico in Netbeans
KeyDown del modulo. – Zhenya