Ich habe ein Formular mit einem Button, der an die Eigenschaft AcceptButton
angehängt ist, so dass Logik auftritt und das Formular geschlossen wird, wenn der Benutzer die Return-Taste drückt.
Auf diesem Formular zeige ich ein dynamisch erstelltes TextBox
an, das erscheint, wenn der Benutzer einen bestimmten Bereich doppelklickt und sich dann versteckt, wenn der Benutzer die Eingabetaste drückt.
Wie verhindere ich, dass das Formular den Tastendruck verarbeitet, wenn der Benutzer auf "Zurück" drückt, während% cc_de% den Fokus hat?
Ich habe versucht zu sagen, dass der Tastendruck im TextBox
Event-Handler über TextBox.KeyDown
gehandhabt wurde, aber das KeyEventArgs.Handled
Event meiner accept Taste wird zuerst ausgelöst ...
Verwenden Sie die Ereignisse Enter
und Leave
von TextBox
, um die Eigenschaft AcceptButton
auf null
(auf Enter
) zu setzen und weisen Sie die Schaltfläche erneut zu (in Leave
).
Beim Zurücksetzen der Forms AcceptButton
, während die TextBox den Fokus hat, glaube ich, dass die passendere Lösung darin besteht, die TextBoxes AcceptsReturn
Property zu verwenden.
Wenn Sie
festlegen %Vor%Das Formular wird nicht akzeptieren, wenn Sie RETURN drücken, aber Ihre TextBox kann das selbst behandeln.
Dadurch müssen Sie den AcceptButton nicht an mehreren Stellen in Ihrem Code zurücksetzen.
Um ein vollständiges funktionierendes Beispiel zu erhalten, verwenden Sie das AcceptReturn = true des TextBox als NobodysNightmare vorgeschlagen und setzen Sie SuppressKeyPress auf" true ", um zu vermeiden, dass das Ereignis in das Formular übergeht. Um den AcceptButton zu verwenden, müssen Sie die AcceptButton-Eigenschaft festlegen / zurücksetzen, wenn Sie die Texbox als Fredrik Mörk vorgeschlagen .
%Vor%