Benutzer mit den meisten Antworten
Focus in Textfeld im Tabcontrol

Frage
-
Hallo!
Ich bin hier am verzweifeln.
Ich habe eine Form mit einem TabControl mit vier Tabs.
In jedem der Tabs sind mehr oder wenige TextBoxen.
Nun möchte ich beim starten der Anwendung den ersten TabControl in den Vordergrund holen, sodass der immer als erster zu sehen ist. Anschliessend soll der Focus für die Eingabe auf eine TextBox gesetzt werden.
Dieses sollte ich mittels TextBox1.Focus() erreichen.
Ein überprüfen eines eigens generierten Objects (nennen wir es einfach dim a as Object) und der Zuweisung von a=TextBox1.Focused() ergibt True, also scheint der Focus auf der TextBox1 zu liegen. Problem ist, dass der Focus nicht sichtbar ist, bzw. keine Eingabe erfolgen kann.
Ohne den TabControl, also direkt in der Form, funktioniert das. Gibt es etwas was ich nicht beachtet habe?
Danke und Gruß
Jürgen
P.S. Komme aus dem VB6 Umfled und arbeite mich gerade in die 2005er Version ein
Antworten
-
Hi!
Danke für den Tipp, aber ich wollte eigentlich wissen wie ich einen bestimmten TAB (TabPage2) beim Start in den Vordergrund hole. Dieses habe ich inzwischen herausgefunden. Der Focus wird auch auf das gewünschte Textfeld gesetzt.
Me.TabControl1.SelectedIndex = 1 // holt das Tabpage 2 inden Vordergrund
Me.ActiveControl = Me.txtEingabe // setzt den Fokus auf das Textfeld
Soweit so gut. Welches Event ist für den Wechsle der einzelen TabPages mittels der Maus zuständig? Wie kann ich das abfragen?
Danke!
Gruß Mercyful- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 22:01
-
HI,
da du den Tab mit der Eigenschaft .SelectedIndex änderst, ist das entsprechende Event für Änderungen der aktuellen Tab das
SelectedIndexChanged-Event. Es wird aber immer ausgelöst, wenn das aktuelle Tab geändert wird, und nicht nur wenn du mit der Maus raufklickst, sondern auch, wenn du mit der Tastatur "hinnavigiertst".
cu
- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 22:01
Alle Antworten
-
Hi!
Danke für den Tipp, aber ich wollte eigentlich wissen wie ich einen bestimmten TAB (TabPage2) beim Start in den Vordergrund hole. Dieses habe ich inzwischen herausgefunden. Der Focus wird auch auf das gewünschte Textfeld gesetzt.
Me.TabControl1.SelectedIndex = 1 // holt das Tabpage 2 inden Vordergrund
Me.ActiveControl = Me.txtEingabe // setzt den Fokus auf das Textfeld
Soweit so gut. Welches Event ist für den Wechsle der einzelen TabPages mittels der Maus zuständig? Wie kann ich das abfragen?
Danke!
Gruß Mercyful- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 22:01
-
HI,
da du den Tab mit der Eigenschaft .SelectedIndex änderst, ist das entsprechende Event für Änderungen der aktuellen Tab das
SelectedIndexChanged-Event. Es wird aber immer ausgelöst, wenn das aktuelle Tab geändert wird, und nicht nur wenn du mit der Maus raufklickst, sondern auch, wenn du mit der Tastatur "hinnavigiertst".
cu
- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 22:01
-
Hallo,
ich habe dasselbe Problem mit dem Fokus unter C#:
Ich hab in meinem Formular eine treeView mit welcher ich in einem tabControl navigiere.
Für den Focus auf ein Textfeld in einem Tab habe ich folgendes versucht aber es wird kein Fokus gesetzt:
if (e.Node.Text.Equals("tabPage"))
{
tabControl.SelectedTab = this.tabPage;
this.ActiveControl = this.textBox;
//this.textBox.Focus();
}
Danke!