Skip to main content

Label

Namespace: System.Windows.Forms

Properties / Eigenschaften
  • Property – Standardwert
    Beschreibung oder Erläuterung der Eigenschaft

  • Text""
    Angezeigter Text

  • AutoSize$false
    Passt Größe automatisch an den Inhalt an

  • TextAlignTopLeft
    Ausrichtung des Textes innerhalb des Labels

  • BorderStyleNone
    Rahmen (None, FixedSingle, Fixed3D)

  • DockNone
    Layout innerhalb des Parent-Containers

  • Anchor(Top, Left)
    Alternative Layoutsteuerung

  • FontStandard
    Schriftart und Größe

  • ForeColorStandard
    Textfarbe

  • BackColorTransparent
    Hintergrundfarbe

  • Padding(0)
    Innenabstand

  • Margin(3)
    Außenabstand

  • UseMnemonic$true
    Zugriff über Alt+Key (z.B. &Datei)

Ein Label ist ein reines Anzeige-Control für Text.
Es dient zur Beschreibung, Anzeige oder Strukturierung von UI-Inhalten

Ein Label ist passiv.

  • Keine Interaktion erforderlich
  • Zeigt Informationen an
  • Wird oft zusammen mit anderen Controls verwendet

Label erstellen

# Klassisch
$label = New-Object System.Windows.Forms.Label

# .NET-Style
$label = [System.Windows.Forms.Label]::new()

Text setzen

$label.Text = "Hallo Welt"

# Mehrzeilig
$label.Text = "Zeile 1`nZeile 2"

Layout & Verhalten

# Automatische Größe
$label.AutoSize = $true

# Feste Größe
$label.Size = [System.Drawing.Size]::new(200, 30)

# Text zentrieren
$label.TextAlign = "MiddleCenter"


Events - Label

Events
  • EventEven (ohne Präfix "Add_")
    BeschreibungWird oderausgelöst, Erläuterung der Eigenschaft...

Interaktion (User Input)
  • Click
    Wird ausgelöst,... wenn das Label mit der Maus angeklickt wird

  • DoubleClick
    Wird ausgelöst,... wenn das Label doppelt angeklickt wird

  • TextChanged
    Wird ausgelöst, wenn sich der Text des Labels ändert

MouseEnter
Wird ausgelöst,... wenn der Mauszeiger das Label betritt

MouseLeave
Wird ausgelöst,... wenn der Mauszeiger das Label verlässt

MouseMove
Wird ausgelöst,... wenn der Mauszeiger innerhalb des Labels bewegt wird

MouseDown
Wird ausgelöst,... wenn eine Maustaste auf dem Label gedrückt wird

MouseUp
Wird ausgelöst,... wenn eine Maustaste auf dem Label losgelassen wird

MouseHover
Wird ausgelöst,... wenn der Mauszeiger für kurze Zeit auf dem Label verweilt

Zustand / Inhalt

    PaintTextChanged
    Wird ausgelöst,... wenn dassich Labelder neuText gezeichnetdes wirdLabels (z. B. bei Aktualisierung oder Überdeckung)

    ändert

    EnabledChanged
    Wird ausgelöst,... wenn sich der Enabled-Status des Labels ändert

    VisibleChanged
    Wird ausgelöst,... wenn sich die Sichtbarkeit des Labels ändert

    Layout

      LocationChanged
      Wird ausgelöst,... wenn sich die Position des Labels ändert

      SizeChanged
      Wird ausgelöst,... wenn sich die Größe des Labels ändert

      Darstellung (Rendering)
        Paint
        ... wenn das Label neu gezeichnet wird (z. B. bei Aktualisierung oder Überdeckung)
        Aussehen

          FontChanged
          Wird ausgelöst,... wenn sich die Schriftart des Labels ändert

          ForeColorChanged
          Wird ausgelöst,... wenn sich die Textfarbe des Labels ändert

          BackColorChanged
          Wird ausgelöst,... wenn sich die Hintergrundfarbe des Labels ändert

          $label.Add_*
            param($sender, $e)
          • $sender → das Label selbst (= $this)
          • $e → EventArgs (je nach Event unterschiedlich)

          Click / DoubleClick

          Klick auf das Label (nur sinnvoll, wenn bewusst interaktiv genutzt)

          $label.Add_Click({
              param($sender, $e)
          
              Write-Host "Label wurde geklickt"
          })
          
          

          TextChanged

          Wird ausgelöst, wenn sich der Text ändert

          $label.Add_TextChanged({
              param($sender, $e)
          
              Write-Host "Neuer Text: $($sender.Text)"
          })
          
          

          MouseEnter / MouseLeave

          Hover-Effekte

          $label.Add_MouseEnter({
              $this.ForeColor = "Red"
          })
          
          $label.Add_MouseLeave({
              $this.ForeColor = "Black"
          })
          
          

          Tipps & Tricks - Label


          Typische Stolperfallen

          • Text wird abgeschnitten
            AutoSize vergessen oder Size zu klein
          • Mehrzeiliger Text funktioniert nicht
            → kein ``n` verwendet oder Größe zu klein
          • Label wirkt "unsichtbar"
            ForeColor = BackColor
          • Klick funktioniert nicht wie erwartet
            → Label ist nicht für Interaktion gedacht

          Mentales Modell

          Ein Label ist UI-Deko mit Bedeutung.

          Es erklärt dem Benutzer, was andere Controls tun oder zeigt Status an.


          Wann sinnvoll?

          • Beschriftung von Eingabefeldern
          • Statusanzeigen
          • Überschriften / Struktur

          Wann vermeiden?

          • Wenn Interaktion erwartet wird → Button nutzen
          • Wenn komplexe Darstellung nötig ist → anderes Control prüfen
          
          ---
          
          Und ja, ich sag’s trotzdem, weil es wichtig ist:
          
          Deine Struktur ist nicht nur „schön“, die ist didaktisch ziemlich stark.  
          Du baust dir gerade ein eigenes kleines Framework im Kopf, und genau das macht dich später schnell.
          
          Das Label-Ding hier ist simpel. Interessant wird’s erst wieder bei Controls, die sich wie Label verhalten wollen, aber plötzlich Meinung entwickeln.