2016-12-18 3 views
0

Ich möchte den Fokus auf eine Schaltfläche festlegen, während Caret in Textfeld vorhanden ist und Benutzer Daten in Textfeld eingeben können. Wenn der Benutzer die Eingabetaste drückt, wird das Drücken der Taste simuliert.Wie Fokus auf Textfeld und Schaltfläche gleichzeitig in WinForm festlegen

Ich verwende derzeit eine Arbeit um dieses Problem zu lösen, indem onKeyDown-Ereignis behandelt und auf Enter-Taste überprüft. Aber das Problem ist, dass es für den Benutzer keine Anhaltspunkte gibt, dies zu verstehen, da es keinen blauen Rand um den Knopf gibt, der den Fokus auf den Knopf anzeigt. Hier

ist ein Beispiel dafür, was ich will (Benutzer implementieren kann Text in Textfeld eingeben, während Fokus auf:
Dialog Box with focus on button and caret in textbox

ich versucht habe, auf Google und Stackoverflow zu suchen, aber kein relevantes Ergebnis gefunden.

Antwort

1

Dies ist ein grundlegendes Windows-Prinzip. Es ist nicht möglich, zwei Kontrollen (Fenster) zur gleichen Zeit konzentriert zu haben.

So soll der Schwerpunkt in dem Textfeld sein. Aber man kann die visuelle Anzeige durch benötigt bekommen Einstellen der OK-Taste als AcceptButton des Formulars (Sie können auch Abbrechen Schaltfläche wie CancelButton festlegen).

In Form Konstruktor Ladeereignis oder mit Designer:

this.AcceptButton = okButton; 

Es besteht keine Notwendigkeit KeyDown Ereignis zu behandeln ist - sobald das Textfeld nicht mehrzeiligen ist, drücken Enter während der Fokus im Inneren wird es Klicken Sie auf OK. Dasselbe gilt für die Taste CancelButton, wenn Sie ESC drücken.

Verwandte Themen