2010-12-10 6 views
0

Ich habe eine Win-Form mit vielen Kontrollen: alt textZurück fokussierte Steuerung in WinForms

Ich mag wissen, wenn Benutzer geben ‚txt2‘ genau, nachdem er ‚txt1‘ eingegeben. Mit anderen Worten, wenn der Benutzer in 'txt2' ist, möchte ich wissen, war vorher Kontrolle 'txt1' oder nicht.

Was ist der beste Weg zu so etwas?

+0

Können Sie angeben, in welcher Sprache Sie arbeiten? Meine Antwort ging davon aus, dass Sie in .Net arbeiten. – jakdep

Antwort

2

Sie könnten einfach eine Variable auf Modulebene vom Typ Control behalten, die das letzte Steuerelement speichert, um den Fokus zu erhalten. Da Sie jedes Steuerelement überwachen müssen, das den Fokus erhält, muss jedes Steuerelement einen allgemeinen Ereignishandler für das Enter-Ereignis abonnieren. In diesem Fall ordnen Sie das eingegebene Steuerelement der Variable auf Modulebene zu, aber vorher können Sie den Sprung zwischen 'txt1' und 'txt2' testen.

+0

Bedeutet das, dass ich Enter-Ereignishandler zu jedem Steuerelement in meinem Formular hinzufügen muss? –

+0

Sie können einen gemeinsamen Enter-Ereignishandler für mehrere Steuerelemente verwenden. Möchten Sie, dass alle Steuerelemente ein ähnliches Bewusstsein wie zwischen 'txt1' und 'txt2' haben? – jakdep

+0

Nein, nur diese zwei. –

Verwandte Themen