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

  • TextAlign – TopLeft
    Ausrichtung des Textes innerhalb des Labels

  • BorderStyle – None
    Rahmen (None, FixedSingle, Fixed3D)

  • Dock – None
    Layout innerhalb des Parent-Containers

  • Anchor – (Top, Left)
    Alternative Layoutsteuerung

  • Font – Standard
    Schriftart und Größe

  • ForeColor – Standard
    Textfarbe

  • BackColor – Transparent
    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.


Grundidee

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

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

Click

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.