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 / 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.