Robert Gustafson, CodeProject
02.02.2022, 10:59 Uhr
Die ultimative RichTextBox für Windows Forms
Im Grunde taugt die RichTextBox von Windows Forms bereits für viele Zwecke, dennoch wurde sie vielfach erweitert, zuletzt von Robert Gustafson zur "Extended extended RichTextBox".
Gustafson baut bei seiner Erweiterung auf eine erste Erweiterung von Razi Syed auf. Seine nochmalige Erweiterung namens RichTextBoxEx begründet er so:
"Die RichTextBox von Visual Studio erlaubt eine Menge Dinge; das Problem dabei ist, dass ein Host-Programm diese Dinge im Code initiieren muss. Das folgende Steuerelement, RichTextBoxEx, das über eine Symbolleiste und ein Lineal verfügt, ermöglicht eine umfangreiche, vom Endbenutzer initiierte Funktionalität in einem einzigen WinForms-Steuerelement."
Sein optimiertes Steuerelement bietet CheckBoxen zum Aktivieren/Deaktivieren von benutzerdefinierten Links, benutzerdefinierten Optionen und Rechtschreibprüfungsoptionen, eine mehrzeilige TextBox, um die Breite des Hauptsteuerelements, die Bildlaufposition und den Zeichencode für jeden ausgewählten Text anzuzeigen. Das Steuerelement ermöglicht einem Host-Programm auch, zusätzliche Kontextmenü-/Toolstrip-Elemente hinzuzufügen.
Zuletzt überarbeitet hat Gustafson sein Steuerelement am 31. Januar 2022. Seither unterstützt es die folgenden Funktionen:
- Einstellen von Farbe (Vorder- und Hintergrund), Schriftattributen, Textausrichtung.
- Suchen und Ersetzen von Suchtext.
- Rechtschreibprüfung.
- Einfügen von Bildern.
- Silbentrennung/Trenntrennung.
- Definieren von benutzerdefinierten Zeichen und Umwandlung von intelligenten Zeichen. Speichern und Laden von Text.
- Drucken.
- Verfolgen von Bildlaufleisteninformationen.
- Verfolgen, ob kürzlich Änderungen vorgenommen worden sind.
- Festlegen von Tabulatoreinzügen und Tabulatoren über ein Lineal.
- Auflisten von Text (nicht verschachtelte Aufzählungslisten, nummerierte Listen und Listen mit Buchstaben).
- Einfügen von Symbolen (Unicode-Zeichen).
- Optionale "benutzerdefinierte Links", bei denen Links beliebigen sichtbaren Text und versteckten Hypertext (Linkziel) haben.
- Einstellung des Redraw-Modus und intelligentes RTF-Escaping und -Einfügen. Erweitertes Drag-and-drop.
- Automatische Rechtschreibprüfung mit faltigen Linien (auch "kontinuierliche Rechtschreibprüfung" genannt).
- Hinzufügen zusätzlicher Optionen zum Kontextmenü und zur Symbolleiste des Steuerelements - damit kann man dem Steuerelement durch externen Code zusätzliche Funktionalität hinzufügen, als ob es "eingebaut" wäre.
- Optionale Anzeige von harten Seitenumbrüchen als gestrichelte Linien.
Eine Beschreibung der Features und Links zum Download der Sourcen finden Sie auf dieser CodeProject-Seite.