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
# 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_")BeschreibungWirdoderausgelö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 -
TextChangedWird ausgelöst, wenn sich der Text des Labels ändert
MouseEnterWird ausgelöst,... wenn der Mauszeiger das Label betritt
MouseLeaveWird ausgelöst,... wenn der Mauszeiger das Label verlässt
MouseMoveWird ausgelöst,... wenn der Mauszeiger innerhalb des Labels bewegt wird
MouseDownWird ausgelöst,... wenn eine Maustaste auf dem Label gedrückt wird
MouseUpWird ausgelöst,... wenn eine Maustaste auf dem Label losgelassen wird
MouseHoverWird ausgelöst,... wenn der Mauszeiger für kurze Zeit auf dem Label verweilt
Zustand / Inhalt
PaintTextChangedWird ausgelöst,... wenn dassich Labelder neuText gezeichnetdes wirdLabels (z. B. bei Aktualisierung oder Überdeckung)
EnabledChangedWird ausgelöst,... wenn sich der Enabled-Status des Labels ändert
VisibleChangedWird ausgelöst,... wenn sich die Sichtbarkeit des Labels ändert
Layout
LocationChangedWird ausgelöst,... wenn sich die Position des Labels ändert
SizeChangedWird ausgelöst,... wenn sich die Größe des Labels ändert
Darstellung (Rendering)
... wenn das Label neu gezeichnet wird (z. B. bei Aktualisierung oder Überdeckung)
Aussehen
FontChangedWird ausgelöst,... wenn sich die Schriftart des Labels ändert
ForeColorChangedWird ausgelöst,... wenn sich die Textfarbe des Labels ändert
BackColorChangedWird 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
→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
---
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.