Skip to main content

TabPage

Eine Eine TabPage ist im Grunde eine einzelne Seite innerhalb eines TabControl.
Sie stellt den Inhalt dar, der angezeigt wird, wenn ein bestimmter Tab ausgewählt ist.

Eigenschaften

Beispiel Eigenschaft

    Eigenschaft– Standardwert
    Beschreibung oder Erläuterung der Eigenschaft
      Text – 
      Der Titel des Tabs (sichtbar im Reiter) Name – 
      Interner Name zur Referenzierung im Code
      Controls – 
      Sammlung aller enthaltenen Controls
      Dock – 
      Bestimmt, wie sich die TabPage innerhalb des TabControl verhält
      (meist automatisch Fill, alles andere ist selten sinnvoll)
      Enabled – 
      Legt fest, ob der Tab auswählbar ist
      Visible – 
      Bestimmt, ob der Tab angezeigt wird
      ForeColor – 
      Farben der Seite (abhängig vom Theme)
      BackColor – 
      Farben der Seite (abhängig vom Theme)
      Padding – 
      Innenabstand zum Rand

      Grundidee

      Ein TabControl ist der Container für die die jeweiligen TabPage-Instanzen.
      TabPage beinhaltet den sichtbaren Inhalt und TabControl ist das möglichmachende Gerüst.


      Wichtige Eigenschaften

      • Text
        Der Titel des Tabs (sichtbar im Reiter)

      • Name
        Interner Name zur Referenzierung im Code

      • Controls
        Sammlung aller enthaltenen Controls

      • Dock
        Bestimmt, wie sich die TabPage innerhalb des TabControl verhält
        (meist automatisch Fill, alles andere ist selten sinnvoll)

      • Enabled
        Legt fest, ob der Tab auswählbar ist

      • Visible
        Bestimmt, ob der Tab angezeigt wird

      • BackColor / ForeColor
        Farben der Seite (abhängig vom Theme)

      • Padding
        Innenabstand zum Rand


      Beispiel (PowerShell)

      $tabControl = [System.Windows.Forms.TabControl]::New()
      
      # Erstellen
      $tabPage1 = New-Object System.Windows.Forms.TabPage
      $tabPage2 = [System.Windows.Forms.TabPage]::New()
      
      # Hinzufügen
      $tabControl.TabPages.Add($tabPage2) # TabPage → TabControl
      
      # Erstellen & Hinzufügen
      $tabControl.TabPages.Add("Dritter Tab") # Text = "Dritter Tab"
      $tabControl.TabPages.Add("tabPage4", "Vierter Tab") # Name = "tabPage4", Text = "Vierter Tab"

      Controls hinzufügen

      $button = New-Object System.Windows.Forms.Button
      $button.Text = "Klick mich"
      
      $tabPage1.Controls.Add($button)
      

      Wichtig:
      Controls werden immer direkt zur TabPage hinzugefügt, nicht zum TabControl.


      Tab wechseln (programmatisch)

      $tabControl.SelectedTab = $tabPage2
      

      oder

      $tabControl.SelectedIndex = 1
      

      Events

      TabPage selbst hat keine super-spezifischen Events wie das TabControl.
      Sie verhält sich eher wie ein normales Panel.

      Trotzdem gibt es ein paar relevante:

      • Enter
        Wird ausgelöst, wenn die TabPage aktiv wird (Tab wird ausgewählt)

      • Leave
        Wird ausgelöst, wenn die TabPage verlassen wird

      • Click
        Klick irgendwo auf der TabPage (nicht super hilfreich in der Praxis)

      • ControlAdded / ControlRemoved
        Wenn Controls dynamisch hinzugefügt oder entfernt werden

      • Paint
        Wenn die TabPage neu gezeichnet wird (Custom Drawing, eher selten)


      Wichtig: Tab-Wechsel-Events liegen am TabControl

      Wenn du wirklich auf Tab-Wechsel reagieren willst, bist du hier falsch unterwegs:

      • SelectedIndexChanged

      • Selecting

      • Selected

      Die gehören zum TabControl, nicht zur TabPage.

      Das ist einer dieser klassischen Momente, wo WinForms dich still verarscht.


      Typische Stolperfallen

      • Controls erscheinen nicht
        → falscher Parent (nicht der TabPage hinzugefügt)

      • Layout wirkt kaputt
        → falsches Dock / Anchor innerhalb der TabPage

      • Events feuern nicht wie erwartet
        → falsches Objekt (TabPage vs. TabControl verwechselt)


      Mentales Modell

      Denk nicht in "Tabs".
      Denk in Panels mit Umschalter.

      Jede TabPage ist einfach ein eigenes Panel.
      Das TabControl entscheidet nur, welches sichtbar ist.


      Wann sinnvoll?

      • Einstellungen gruppieren

      • Inhalte strukturieren

      • Platz sparen


      Wann vermeiden?

      • Wenn Nutzer ständig wechseln müssen

      • Wenn Inhalte stark zusammenhängen