Hallo,
habe mehrere Schaltflächen und möchte den Focus auf eine bestimmte legen. Wollte dazu folgendes Statement benutzen:
Command1.SetFocus
Leider bekomme ich die Fehlermeldung:
Ungültiger Prozeduraufruf oder ungültiges Argument.
Was fehlt da noch ?
Danke.
Gruß
Gunter
Hi Gunter,
Command1.SetFocus
Leider bekomme ich die Fehlermeldung:
Ungültiger Prozeduraufruf oder ungültiges Argument.
Was fehlt da noch ?
nichts. Das ist richtig so.
Mögliche Ursachen:
- Du hast das Steuerelemnt umgetauft, es gibt kein Steuerelement das diesen Namen trägt.
- Du hast die Zeile in der Prozedur ‚Form_Load‘ stehen ind kein Me.Show davor.
- Die Form ist gerade nicht sichtbar.
- Command1.Enabled steht auf ‚False‘
Gruß, Rainer
Hi Gunter,
Das war der Grund.
dann könntest Du Dir die Zeile auch sparen, wenn Du für diesen Button .Tabindex auf 0 setzt. Alle anderen Indizes werden dadurch verschoben.
Wenn die Anwendung nicht für Dich ist, musst Du damit rechnen, daß Anwender auch mal mit der Tab-Taste navigieren und die Tabindizes sinnvoll arrangieren, für Steuerelemente, die dabai nicht erreichbar sein sollen, die Eigenschaft .Tabstop auf false setzen. Anklickbar bleiben sie trotzdem, werden nur mit Tab nicht erreicht.
Gruß, Rainer
Hallo Rainer,
danke für die Ausführungen. Die Anwendung ist nur für mich und ich möchte halt diesen Knopf per Enter-Taste ausführen.
Gruß
Gunter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Gunter,
ich möchte halt diesen Knopf per Enter-Taste ausführen.
das ist ja auch OK.
Mit dem Tabindex stellst Du nur die Reihenfolge ein, wo der Focus hin springt, wenn die Tab-Taste gedrückt wird.
Beim Start des Programms hat dann das Steuerelemnt den Focus, das den Tabindex = 0 hat. Wenn Du also den Tabindex des Buttons auf Null setzt, musst Du den Focus nicht extra per Code setzen, der ist dann schon da.
Gruß, Rainer