Was könnten die möglichen Gründe dafür sein, dass TabIndex nicht ordnungsgemäß funktioniert?

7

Ich habe also von 0 angefangen und Tabindex für die Steuerelemente in meinem Formular definiert, aber zur Laufzeit ist alles durcheinander. Die Form ist ein wenig komplex tho. Es hat horizontale und vertikale Splitter und Panels, Gruppenfelder und einige ältere VB 6.0 ActiveX-Steuerelemente, die ein Tree-Steuerelement in ihnen ist. auch wenn ich es programmgesteuert mache und previewkeydown eventg lese und sage, wenn es TAB ist, dann control2.Focus () funktioniert es immer noch falsch. so frustrierend. irgendwelche Gedanken? ..Es gibt auch Etiketten auf dem Formular, die keine Registerkarte benötigen, also habe ich 0 für ihren Index definiert.

    
Bohn 26.05.2011, 13:53
quelle

2 Antworten

13

Wie stellen Sie es ein? Wenn Sie sich in Visual Studio mit dem Formular in der Entwurfsansicht befinden, wählen Sie Ansicht - & gt; Tab-Reihenfolge und klicken Sie dann auf jedes Element in der Reihenfolge, die Sie wollen.

Funktioniert normalerweise für mich.

    
kerry 26.05.2011, 14:04
quelle
8

Der Grund ist, dass sich die Steuerelemente in verschiedenen Containern befinden. Angenommen, Sie haben panel1.TabIndex = 0 und panel2.TabIndex = 1, dann in panel2, textBox1.TabIndex = 0, in panel1, textBox2.TabIndex = 1. Zur Laufzeit steht textBox1 vor textBox2, weil sein Panel zuerst kommt!

Wie Kerry sagte, verwenden Sie die Registerreihenfolge "Ansicht- & gt;", um die vollständige Hierarchie der Tabulatorreihenfolgen anzuzeigen.

    
Alireza 26.05.2011 14:08
quelle

Tags und Links