Eine Möglichkeit wäre, die GetFocus API zu interoptieren
%Vor%Dies gibt Ihnen den Punkt für das Fenster, das aktuell den Fokus hat, Sie können dann rekursiv den Kontrollbaum durchlaufen, um das Steuerelement mit diesem Punkt zu finden.
Die Verwendung der corell.dll sieht nach einer guten Idee aus.
Eine weitere Möglichkeit besteht darin, GotFocus-Event-Handler für alle Steuerelemente in Ihrem Formular zu erstellen. Erstellen Sie dann eine Variable auf Klassenebene, die mit dem Namen des Steuerelements aktualisiert wird, das den aktuellen Fokus hat.
Nein. Zuerst kommt das LostFocus-Event eines Controls, dann kommt das GotFocus-Event des nächsten Controls. Solange Sie nicht wissen, welche Kontrolle der Benutzer im nächsten Moment verwendet, ist dies nicht möglich.
wohingegen, wenn das kompakte Rahmensteuerelement eine TabIndex-Eigenschaft hat, es nur vorhergesagt werden könnte, wenn der Benutzer den Tab-Schlüssel verwendet.
Bearbeiten: OK Sie haben die Lösung gepostet und es funktioniert gut, ich muss zugeben: das einfache "Nein" ist falsch +1
Dies ist ein kürzerer Code für die Antwort von Vaccano, mit Linq
%Vor%Genau das gleiche (auf hoher Ebene, Abstraktion).
Tags und Links c# focus compact-framework