TabControl Objekte, ein Objekt auf mehreren Tabs verwenden?

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von timonator.

    TabControl Objekte, ein Objekt auf mehreren Tabs verwenden?

    Hallo,

    Ich habe in meinem Formular einen TabControl mit mehreren Tabs.
    Auf dem Ersten Tab habe ich mehrere Objekte die ich auch auf dem zweiten Tab verwenden möchte.

    Wenn ich im Normalfall auf den nächsten Tab blättere, sind alle Objekte des ersten Tabs weg. Klar.
    Aber wie gesagt, ich möchte ein paar ausgewählte Objekte auch auf dem zweiten Tab haben, damit ich diese paar Dinge nicht wieder extra machen muss.

    Geht das ? ich find nix.
    Hey,

    ein Control kann nur einen Parent haben. Somit musst Du beim Wechsel der TabPage die gewünschten Controls eben der aktuellen TabPage zuweisen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Danke Spacey für die Info.
    Ich weiß das klingt verrückt. aber ich schaffs nicht. kannst du mir auf die sprünge helfen bei welchem event ich welchen add befehl machen soll?

    denn dieser hier gurckt ab:

    Quellcode

    1. Private Sub TabControl1_TabIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.TabIndexChanged
    2. Me.TabControl1.Controls.Add(Me.ListBox1)
    3. End Sub
    Wie wärs damit?

    VB.NET-Quellcode

    1. Private Sub TabControl1_Selected(sender As Object, e As TabControlEventArgs) Handles TabControl1.Selected
    2. e.TabPage.Controls.Add(ListBox1)
    3. End Sub


    Du arbeitest hier mit TabPages, nicht mit dem TabControl. Das TabControl hostet die TabPages. Ferner hat das TabIndexChanged-Event eine ganz andere Bedeutung. Informiere Dich über die Events auf MSDN oder lies, was Dir die IDE dazu an Infos gibt.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    Hinti schrieb:

    add befehl machen soll?
    Nicht Add.
    Probier mal dies:

    VB.NET-Quellcode

    1. Private Sub TabControl1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
    2. Me.Button1.Parent = Me.TabControl1.SelectedTab
    3. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Falls sich nochmals jemand einen Ast absucht und das halbe Internet durchsucht... so ist die Lösung:

    VB.NET-Quellcode

    1. Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
    2. TabControl1.TabPages(TabControl1.SelectedIndex).Controls.Add(ListBox1)
    3. End Sub


    :)
    Ahso, und das ist nicht kurz und logisch?

    VB.NET-Quellcode

    1. Private Sub TabControl1_Selected(sender As Object, e As TabControlEventArgs) Handles TabControl1.Selected
    2. ListBox1.Parent = e.TabPage
    3. End Sub
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o