Panel in 2 TabPage

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Panel in 2 TabPage

    Hallo,
    ich hätte eine Frage:

    ist gründsätzlich machbar 1 Panel1 für zwei TabPage zu verwenden?

    Situation: Panel mit Controls, textBoxen usw.

    TabControl1 mit 2 TabPage,

    Panel1 ist auf erste Tabpage,
    wenn die zweite TabPage gewählt wird, soll Panel1 hier mit allen Controls sichtbar sein.

    Panel1 kann aus Platzgründen nicht neben den TabPage liegen, sonst wäre die Sasche gelöst.

    lg
    toto
    lg toto
    Hallo Einsteiger,
    das ist ja mein Problem, während der Laufzeit das Panel zu verschieben.

    Zweimal kann ich nicht machen, sonst hätte ich Probleme mit den Controls. (Benennung usw.) da die Controls die gleiche Events auslösen.
    Oder eine bessere Idee?
    lg
    toto
    lg toto
    @Einsteiger:
    So macht das eventuell Spirenzien, weil das die Umgebung so nicht unterstützt (Form-Editor).
    @Toto:
    Schwebt Dir vor, das Panel im Sinne eines Usercontrols auf 2 Tab-Seiten angezeigt zu bekommen? Dann kannst Du es natürlich in beide Seiten einfügen, so bekommen sie automatisch vom System unterschiedliche Namen.
    Hat das Panel noch weitere Controls?
    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!
    Hallo Einsteiger,

    Private Sub btnTitel_Click..............
    TabPage10.Controls.Add(Panel5)
    Panel5.BringToFront()

    Private Sub btnBuch_Click.........
    TabPage1.Controls.Add(Panel5)
    Panel5.BringToFront()

    leider niergendswo sichtbar.
    lg
    toto

    Hallo Rolf,
    Buttons,Labels und TextBoxen
    lg
    toto
    lg toto
    @Einsteiger:
    Klar geht das, aber die Umgebung halt ...
    @Toto:
    Rod, nicht Rolf (wenn das mir galt).
    Ziehe das Panel doch einfach mal im Editor auf einen Tab und sieh zu, dass der Rest funktioniert.
    Dann ziehst Du das Panel auf den nächsten Tab und wir sehen weiter.
    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!
    Gut.
    Sieh Dir mal den Namen der beiden Panels an, der dürfte verschieden sein, wenn Du alle Tabs in einer Datei implementierst.
    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!
    @Einsteiger, habe auch mit BringToFront versucht, leider weiß ich nicht wo das Panel ist, hihihih vielleicht im Papierkorb. (Scherz)
    lg
    toto

    @Rod, nicht Rolf, sorry
    ich vermute das du mich dahin führen willst wie aus den Beitrag 4 von Einsteiger.Alle Namen sind Verschieden.
    lg
    toto
    lg toto
    Jetzt glaube ich verstanden zu haben, was Du willst.
    Du hast n Tabs, auf den Tabs 1, 3, 7 und 13 soll Dein Panel sichtbar sein, auf den anderen nicht.
    Da must Du, wenn einer der Tabs 1, 3, 7 oder 13 aktiviert wird, dieses als Parent für Dein Panel setzen:

    VB.NET-Quellcode

    1. MyPanel.Parent = Tab1 ' oder so.
    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!
    Form1 - Panel5.Visible = False

    TabPage10 - Panel5.Visible = True

    TabPage2 - Panel5.Parent = TabPage5

    Funzt auch, nur wenn ich im TabPage10 wiederkehre ist Panel5 nicht zu sehen, klar den habe ich ja sozusagen übergeben.

    Was soll dann in TabPage10 drin Stehen damit Panel5 zu sehen ist???

    Mit

    TabPage10 - Panel5.Parent = TabPage10

    TabPage2 - Panel5.Parent = TabPage5

    funzt nicht.
    lg
    toto
    lg toto
    Das Parent muss immer die sichtbare Seite sein.
    Und wenn Du das so tun willst, solltest Du nur noch 1 Panel in Deinem TabCtrl haben.
    (Jetzt mach ich erst mal eine Pause. :D )
    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!
    Ich hab das mal mit einem Usercontrol ausprobiert und das hat so funktioniert: :D

    VB.NET-Quellcode

    1. Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
    2. If (TabControl1.SelectedIndex = 0 OrElse TabControl1.SelectedIndex = 1) Then
    3. UserControl11.Parent = TabControl1.SelectedTab
    4. UserControl11.Visible = True
    5. End If
    6. 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!