Ich habe in meinem C # -Programm eine Textbox
Ich brauche das, wenn das Programm startet, der Fokus auf der Textbox liegt
Ich versuche dies auf Form_Load:
MyTextBox.Focus();
aber es wird nicht funktionieren
Legen Sie die ActiveControl
Eigenschaft des Formulars fest und es sollte Ihnen gut gehen.
this.ActiveControl = yourtextboxname;
ComboBox
. Aber es funktioniert auch nicht!MyTextBox.Focus();
funktioniert - das scheint gut zu funktionieren, sobald das Programm ausgeführt wird.this.ActiveControl = textBox1;
Jeder versteht die Bedeutung von "textBox1". "youttextboxname" klingt wie... = "MyTextBox";
Überprüfen Sie Ihre Tab-Reihenfolge und stellen Sie sicher, dass das Textfeld auf Null gesetzt ist
quelle
Du könntest es versuchen:
MyTextBox.Select ();
Laut Dokumentation:
Sie können zunächst überprüfen, ob das Steuerelement auswählbar ist, indem Sie die Eigenschaft MyTextBox.CanSelect überprüfen .
quelle
Sie können den Fokus nicht auf ein Steuerelement setzen, wenn es nicht gerendert wurde. Form.Load () tritt auf, bevor die Steuerelemente gerendert werden.
Gehen Sie zu den Ereignissen des Formulars und doppelklicken Sie auf das Ereignis "Angezeigt". Rufen Sie im angezeigten Ereignishandler des Formulars die Methode control.Focus () auf.
quelle
Wenn Sie den Fokus nur beim ersten Anzeigen des Formulars festlegen möchten , versuchen Sie, das Form.Shown- Ereignis zu behandeln und dort auszuführen . Verwenden Sie andernfalls Control.VisibleChanged .
quelle
Textbox.Focus()
"Versucht", den Fokus auf das Textfeldelement zu setzen. Wenn das Element sichtbar ist,Focus()
funktioniert die Sichtbarkeit beispielsweise nicht. Stellen Sie also sicher, dass Ihr Element sichtbar ist, bevor Sie es aufrufenFocus()
.quelle
Der Grund, warum Sie es nicht zum Laufen bringen können, ist, dass das
Load
Ereignis aufgerufen wird, bevor das Formular gezeichnet oder gerendert wird.Es ist, als würde man einer Pizzeria erzählen, wie man ihre Pizza macht, und sie dann bitten, Ihnen ein Bild davon zu schicken, wie viel Peperoni auf Ihrer Pizza ist, bevor sie es gemacht haben.
quelle
Ich habe mein Problem mit der Änderung der "TabIndex" -Eigenschaft von TextBox gelöst. Ich habe 0 für TextBox gesetzt, damit ich es beim Start des Programms auf Form fokussieren kann.
quelle
Verwenden Sie das angezeigte Formular und setzen Sie es
quelle
Setzen Sie den Wert der Tab Index-Eigenschaft auf 0 und schreiben Sie dann in die Formularladefunktion:
Es wird klappen.
quelle
Sie können entweder
textBox1.select();
oder den TabIndex in der Textfeldeinstellung verwenden.TabIndex=0
zuerst fokussiert.quelle
Setzen Sie Tabstop auf True und TabIndex auf das Minimum des Steuerelements, auf das Sie sich konzentrieren müssen.
Beispiel: Wenn Sie 2 TextBoxen haben: TextBox1 und TextBox2, setzen Sie Tabstop für beide auf True und TabIndex auf 0 bzw. 1. Wenn das Formular geladen wird, liegt der Fokus auf TextBox1 und beim Drücken der Tabulatortaste wird der Fokus auf TextBox2 verschoben.
quelle
Gehen Sie in Ihrem Formular zu Eigenschaften und stellen Sie sicher, dass die Eigenschaft "TopMost" auf "true" gesetzt ist, um Ihr Problem zu lösen.
quelle
es hat bei mir funktioniert setze tabindex auf 0 this.yourtextbox.TabIndex = 0;
quelle
Schließlich fand ich das Problem, dass ich Metro Framework verwendet habe und alle Ihre Lösungen funktionieren nicht mit metroTextBox, und alle Ihre Lösungen funktionieren mit normalen TextBox in Laden, Zeigen, Sichtbarkeitsänderung, Ereignissen, sogar der Registerkartenindex = 0 ist gültig.
quelle
In jquery setze den Fokus
oder in Javascript können Sie tun
quelle
c#
und gekennzeichnetwinforms
.