Avoir un contrôle TextBox
(DevExpress TextEdit
pour être précis) à l'intérieur d'une forme WinForms, je ne pas le formulaire doit fermer lorsque l'utilisateur appuie sur la touche Entrée , si le focus est à l'intérieur de la zone de texte.Comment ne pas fermer un formulaire lorsque l'utilisateur appuie entrer la clé dans une zone de texte
Je pensais que
filterTextBox.KeyDown +=
(sender, e) =>
e.Handled = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;
serait suffisant, mais il semble être ignoré et la forme ferme encore.
Ma question est:
Comment ignorer intentionnellement l'entrer à l'intérieur d'un seul contrôle de la zone de texte en ligne de sorte que la forme reste ouverte?
Solution
The solution of Botz3000 a fonctionné pour moi:
filterTextBox.PreviewKeyDown +=
(sender, e) =>
e.IsInputKey = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;
filterTextBox.KeyDown +=
(sender, e) =>
e.Handled = e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter;
Merci, @ Botz3000, juste essayé, semble être ignoré, aussi. –
@UweKeim J'ai mis à jour ma réponse. On dirait que vous devez aussi gérer 'PreviewKeyDown' de sorte que la touche enter ne soit pas ignorée par le TextBox. – Botz3000
A travaillé, parfaitement, merci beaucoup! :-) –