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
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
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
→AutoSizevergessen oderSizezu 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