letztes aktive TabPage erkennen

sati99

Grünschnabel
Hallo,

verwende VS 2005,

Ich soll per Button (dieser liegt direkt auf der Form) in der untersten aktiven TabPage einer "verschachteln" TabControl/TabPage die TextBoxen füllen. Hierzu benötige ich das Ziel (eben das letzte TabPage in der Reihe). Dieses kann jedes Mal ein anderes sein und muss mit dem gleichen Button bedient werden.

TabControl1.SelectedTab.SelectedTab.SelectedTab geht ja leider nicht.



Code:
For Each H_TabPageControl In H_TabControl.Controls
If H_TabPageControl.Text = TabControl1.SelectedTab.Text Then
.....
end if
nextDieser Code funktioniert nur in der ersten Ebene. Hierzu bekomme ich mit
TabControl1.SelectedTab nur das aktive TabPage vom ersten TabControl - dieses ist eben TabControl1.
Alle weiteren Namen der TabControls bzw. TabPages können sich ändern. Diese werden dynamisch erstellt.

Hoffe es kann mir jemand helfen.
 
Das kann so auch nicht funktionieren wie du es machst. Wenn ich dich richtig verstanden habe, dann befindet sich in der ersten selektierten TabPage ja wieder ein TabControl. D.h. du musst dich da einfach durchhangeln. Hier eine Methode, die das für dich machen könnte:
Code:
private TabPage ReturnLastSelectedTabPage(TabControl parentControl)
{
    if (parentControl != null && parentControl.SelectedTab != null)
    {
        if (parentControl.SelectedTab.Controls.Count > 0)
        {
            TabControl tabControl = parentControl.SelectedTab.Controls[0] as TabControl;
            if (tabControl != null)
            {
                TabPage tabPage = ReturnLastSelectedTabPage(tabControl);
                if (tabPage != null)
                    return tabPage;
                else
                    return parentControl.SelectedTab;
            }
        } return parentControl.SelectedTab;
    }
    return null;
}

Das ist zwar jetzt C#, läßt sich aber durch entsprechende Online-Tools nach VB.NET konvertieren.
 
Zurück