Standard-Schaltfläche in Windows-Formularen (versucht, die beste Lösung zu finden)

8

Die Frage ist: Wie kann man die Standardschaltfläche auf Formularfokus und Antwort auf "Enter" -Schlick fokussieren, aber nicht fokussieren, wenn das Caret in einem Textfeld mit mehrzeiliger Eigenschaft zum Beispiel auf true gesetzt ist? .. Ich weiß, dass ich das kann mach einige Ausnahmen im Code, aber vielleicht gibt es einige "Best Practices", die ich momentan nicht kenne :( Danke

    
0x49D1 15.01.2009, 09:30
quelle

6 Antworten

14

Vielleicht habe ich dich falsch verstanden, aber was ich tun würde ist:

  1. Legen Sie den "AcceptButton" des Formulars fest auf die Schaltfläche, auf die Sie antworten möchten "Enter"
  2. Setzen Sie "AcceptsReturn" von das Textfeld mit mehrzeilig zu True

und voila

    
Xn0vv3r 15.01.2009, 09:40
quelle
5

(bearbeiten - die Antwort hier ist sehr gut für TextBox ; dieses Muster kann für andere Steuerelemente nützlich sein, denen die AcceptsReturn oder das Äquivalent fehlt)

Sie können die Ereignisse GotFocus und LostFocus verwenden, um AcceptButton relativ einfach zu ändern, zum Beispiel:

%Vor%     
Marc Gravell 15.01.2009 09:43
quelle
4

Ein Windows Form hat zwei Eigenschaften: AcceptButton und CancelButton. Sie können diese festlegen, um Schaltflächensteuerelemente in Ihrem Formular zu verweisen. Der AcceptButton gibt an, auf welche Schaltfläche geklickt werden soll, wenn der Benutzer die Eingabetaste drückt, während die Schaltfläche Abbrechen angibt, welche Schaltfläche angeklickt werden soll, wenn der Benutzer die Escape-Taste drückt.

Oft setzen Sie das DialogResult des AcceptButton auf DialogResult.OK oder DialogResult.Yes und DialogResult.Cancel oder DialogResult.No für den CancelButton. Dies stellt sicher, dass Sie leicht überprüfen können, auf welche Schaltfläche geklickt wurde, wenn Sie das Formular modal anzeigen.

    
Rune Grimstad 15.01.2009 09:42
quelle
1

oder Sie können es in De-Fokus-Ereignis Ihrer Textbox wie in

tun %Vor%

und dann in dem anderen Textfeld mit Mehrlinien

    
Dean 15.01.2009 09:50
quelle
0

in Form_Load, legen Sie

fest %Vor%     
nijas 02.09.2013 08:08
quelle
0

Gehen Sie wie folgt vor:

%Vor%     
RAVI VAGHELA 15.12.2014 14:26
quelle

Tags und Links