Skip to main content

RichTextBox

RichTextBox

Namespace: System.Windows.Forms

Properties / Eigenschaften
  • Property – Standardwert
    Beschreibung oder Erläuterung der Eigenschaft

  • BackColorSystemColors.Window
    Hintergrundfarbe der RichTextBox

  • BorderStyleFixed3D
    Rahmenstil (None, FixedSingle, Fixed3D)

  • FontStandard-Systemfont
    Schriftart und -größe

  • ForeColorSystemColors.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

  • SelectionAlignmentLeft
    Ausrichtung des Textes in der aktuellen Auswahl (Left, Center, Right)

  • SelectionColorSystemColors.HighlightText
    Farbe der ausgewählten Textstellen

  • SelectionFontStandard-Schrift
    Schriftart der Auswahl

  • SelectionBackColorSystemColors.Highlight
    Hintergrundfarbe der Auswahl

  • SelectionLength0
    Länge der aktuellen Auswahl

  • SelectionStart0
    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)

$richTextBox.AppendText("Hier klicken: ")
$richTextBox.InsertLink("https://www.example.com")

⚠️ Typische Stolperfallen

  • Text wird nicht formatiert,formatiert, aber du hast vergessen, den richtigen Stream (RTF vs. Text) zu verwenden.
  • Events feuern zu oft: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,RichTextBox, wenn du Formatierung und erweiterte Textoptionen brauchst.
  • RTF ist dein Freund,Freund, wenn du komplexe Formatierungen brauchst – ansonsten geht auch normaler Text.