Neue Seite
RichTextBox
Namespace: System.Windows.Forms
Properties / Eigenschaften
- Property – Standardwert
Beschreibung oder Erläuterung der Eigenschaft
-
BackColor – SystemColors.Window
Hintergrundfarbe der RichTextBox -
BorderStyle – Fixed3D
Rahmenstil (None,FixedSingle,Fixed3D) -
Font – Standard-Systemfont
Schriftart und -größe -
ForeColor – SystemColors.WindowText
Textfarbe -
HideSelection – $true
Steuert, ob der Text im nicht markierten Zustand verborgen wird -
Text – ""
Der gesamte Text in der RichTextBox -
WordWrap – $true
Zeilenumbruch aktivieren/deaktivieren -
Rtf – ""
Ruft den RTF-Inhalt der RichTextBox ab oder setzt ihn -
Multiline – $true
Zeigt Text auf mehreren Zeilen -
SelectionAlignment – Left
Ausrichtung des Textes in der aktuellen Auswahl (Left,Center,Right) -
SelectionColor – SystemColors.HighlightText
Farbe der ausgewählten Textstellen -
SelectionFont – Standard-Schrift
Schriftart der Auswahl -
SelectionBackColor – SystemColors.Highlight
Hintergrundfarbe der Auswahl -
SelectionLength – 0
Länge der aktuellen Auswahl -
SelectionStart – 0
Der Startindex der aktuellen Auswahl -
TextChanged – $false
Event wird ausgelöst, wenn sich der Text ändert
Die RichTextBox ist eine erweiterte Textbox, die es ermöglicht, formatierte Textinhalte darzustellen und zu bearbeiten. Sie unterstützt RTF (Rich Text Format) sowie einfache Textformate.
Erstellen
# Erstellen
$richTextBox = New-Object System.Windows.Forms.RichTextBox
$richTextBoxNew = [System.Windows.Forms.RichTextBox]::new()
# Größe & Position
$richTextBox.Size = New-Object System.Drawing.Size(400, 200)
$richTextBox.Location = New-Object System.Drawing.Point(10,10)
# Text setzen
$richTextBox.Text = "Hallo, dies ist ein Testtext in der RichTextBox!"
# Formatierter Text (RTF)
$richTextBox.Rtf = "{\rtf1\ansi\ansicpg1252\uc1\pard\lang1031\f0\fs20 Hallo, \b dies ist ein \i Test \b0\i0 Text.\par}"
Werte auslesen
PowerShell
# Einfacher Text
$plainText = $richTextBox.Text
# RTF-Text
$rtfText = $richTextBox.Rtf
# Auswahl
$selectedText = $richTextBox.SelectedText
👉 Unterschied:
Text gibt nur den normalen Text zurück, während Rtf den gesamten formatierten Text (inklusive Formatierung) liefert.
Events
�
Events
TextChanged
Wird ausgelöst, wenn sich der Text ändert
SelectionChanged
Wird ausgelöst, wenn sich die Auswahl ändert
LinkClicked
Wird ausgelöst, wenn ein Hyperlink im Text angeklickt wird
KeyDown / KeyUp
Für Tastaturinteraktionen
�
Events - RichTextBox
TextChanged
Wird ausgelöst, wenn sich der Text in der RichTextBox ändert.
PowerShell
$richTextBox.Add_TextChanged({
Write-Host "Text hat sich geändert!"
})
SelectionChanged
Wenn der Benutzer die Auswahl ändert, wird dieses Event ausgelöst.
PowerShell
$richTextBox.Add_SelectionChanged({
Write-Host "Neue Auswahl: $($richTextBox.SelectedText)"
})
LinkClicked
Wenn der Benutzer auf einen Link klickt, wird dieses Event ausgelöst.
PowerShell
$richTextBox.Add_LinkClicked({
param($sender, $e)
Write-Host "Link angeklickt: $($e.Link)"
})
Tipps & Tricks
Formatierter Text
PowerShell
$richTextBox.SelectionColor = "Red"
$richTextBox.SelectionFont = New-Object System.Drawing.Font("Arial", 12, [System.Drawing.FontStyle]::Bold)
$richTextBox.AppendText(" Dies ist ein Text mit roter Schrift und fettem Arial.")
RTF-Inhalt speichern
PowerShell
# RTF in Datei speichern
$richTextBox.SaveFile("C:\Pfad\zur\Datei.rtf", [System.Windows.Forms.RichTextBoxStreamType]::RichText)
Hyperlinks hinzufügen
PowerShell
$richTextBox.AppendText("Hier klicken: ")
$richTextBox.InsertLink("https://www.example.com")
⚠️ Typische Stolperfallen
Text wird nicht formatiert, aber du hast vergessen, den richtigen Stream (RTF vs. Text) zu verwenden.
Events feuern zu oft: Achte darauf, dass du nicht zu viele Events auslöst. Besonders TextChanged ist gefährlich, weil es oft auch bei jeder kleinen Änderung feuert.
🧩 Best Practice
Für einfache Textfelder immer die normale TextBox verwenden.
Nutze RichTextBox, wenn du Formatierung und erweiterte Textoptionen brauchst.
RTF ist dein Freund, wenn du komplexe Formatierungen brauchst – ansonsten geht auch normaler Text.