Frage von tellme84, 13

C# Rtfbox formatieren?

Hallo! Ich suche eine möglichkeit in c#/Forms-Anwendung ein button der bei knopfdruck den markierten text in einer ritchtextbox auf fett zu stellen...

Antwort
von PWolff, 3
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ System.Drawing.FontStyle.Bold);

Erklärung:

In der MSIL (der Zwischensprache, die das .NET-System intern verwendet) sind Font-Objekte schreibgeschützt, ähnlich wie String-Objekte.

Du musst also ein neues Font-Objekt anlegen und der entsprechenden Eigenschaft der richTextBox zuweisen.

Die Klasse Font hat einen Konstruktor, der ein Font-Objekt und ein Style-Element akzeptiert und daraus ein Font-Objekt macht, das alle Eigenschaften des originalen Font-Objekts übernimmt bis auf den Stil, der durch den neuen Stil ersetzt wird.

Der Stil eines Fonts ist eine Aufzählung (enumeration, in C# enum) der Art Bit Flag, d. h. du kannst die Bit-Operatoren &, |, ^ verwenden, um einzelne der Flags zu verändern. Dies wird hier genutzt, um die Bold-Eigenschaft zu invertieren.

(Um die Bold-Eigenschaft immer zu setzen, nimm statt "a ^ b" "a | b", um sie immer zurückzusetzen, nimm statt "a ^ b" "a & !b".)

Keine passende Antwort gefunden?

Fragen Sie die Community