Ich habe ein UserControl, das aus drei TextBoxen besteht. Auf einem Formular kann ich ein oder mehrere oder mein Benutzersteuerelement haben. Ich möchte mein eigenes Tab-Verhalten implementieren. Wenn der Benutzer die Tabulatortaste in der zweiten TextBox drückt, sollte ich nur zur dritten TextBox wechseln, wenn die zweite TextBox etwas eingegeben hat. Wenn in der zweiten TextBox nichts eingegeben wird, sollte das nächste Steuerelement des Formulars den Fokus gemäß dem normalen Registerverhalten erhalten. Wenn der Benutzer nichts in die erste oder zweite TextBox und die Registerkarte "Drücken" eingegeben hat, gibt es diesen speziellen Fall, bei dem ein Steuerelement auf dem Formular übersprungen werden sollte.Override Registerkarte Verhalten in WinForms
Mit dem ProcessDialogKey habe ich es geschafft, funktioniert es irgendwie ok, aber ich habe immer noch ein Problem. Meine Frage ist, ob es einen Weg gibt zu erkennen, wie ein WinForms-Steuerelement den Fokus bekommen hat, da ich auch wissen möchte, ob mein UserControl den Fokus von einem Tab oder Shift-Tab hat und dann meine komischen Sachen macht, aber wenn der Benutzer das Steuerelement anklickt Ich möchte nichts Besonderes machen.