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

Die Breite und Höhe vom `Label` wird mit einem System.Drawing.Size Objekt definiert.

# 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
  • Even 
    Wird ausgelöst, ...

Interaktion (User Input)
  • Click
    ... wenn das Label mit der Maus angeklickt wird

  • DoubleClick
    ... wenn das Label doppelt angeklickt wird

  • MouseEnter
    ... wenn der Mauszeiger das Label betritt

  • MouseLeave
    ... wenn der Mauszeiger das Label verlässt

  • MouseMove
    ... wenn der Mauszeiger innerhalb des Labels bewegt wird

  • MouseDown
    ... wenn eine Maustaste auf dem Label gedrückt wird

  • MouseUp
    ... wenn eine Maustaste auf dem Label losgelassen wird

  • MouseHover
    ... wenn der Mauszeiger für kurze Zeit auf dem Label verweilt

Zustand / Inhalt
  • TextChanged
    ... wenn sich der Text des Labels ändert
  • EnabledChanged
    ... wenn sich der Enabled-Status des Labels ändert

  • VisibleChanged
    ... wenn sich die Sichtbarkeit des Labels ändert

Layout
  • LocationChanged
    ... wenn sich die Position des Labels ändert

  • SizeChanged
    ... 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
    ... wenn sich die Schriftart des Labels ändert

  • ForeColorChanged
    ... wenn sich die Textfarbe des Labels ändert

  • BackColorChanged
    ... wenn sich die Hintergrundfarbe des Labels ändert

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

Interaktionen (User Input)

Click / DoubleClick

Linker (doppelte) Mausklick auf das Label 

$label.Add_Click({
    param($sender, $e)

    Write-Host "Label wurde geklickt"
})
MouseDown

Beliebiger Klick auf das Label

MouseEnter / MouseLeave

Hover-Effekte

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

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

MouseMove

Mausbewegung innerhalb vom Label

TextChanged

Wird ausgelöst, wenn sich der Text ändert

$label.Add_TextChanged({
    param($sender, $e)

    Write-Host "Neuer Text: $($sender.Text)"
})


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