Verhindern, dass WinForm AcceptButton den Return-Schlüssel verwendet

8

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 ...

    
Dave Downs 21.09.2010, 14:04
quelle

4 Antworten

10

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 ).

    
Fredrik Mörk 21.09.2010, 14:10
quelle
11

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.

    
NobodysNightmare 27.02.2013 09:39
quelle
4

Setzen Sie die Eigenschaft AcceptButton auf Null, wenn Sie dieses Textfeld erstellen, und setzen Sie es auf den normalen Wert zurück, wenn es den Fokus verliert:

%Vor%     
Timwi 21.09.2010 14:10
quelle
1

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%     
Dan 25.09.2014 09:48
quelle

Tags und Links