Ich selbst musste eine ganze Weile im Web suchen, bis ich endlich mal Beispielcode für Bold-, Italic-, Underline- und Strikeout-Texteffekte gefunden habe. Darum werde ichhier mal die Codes posten, die man in VB.NET dazu verwendet. Wichtig! Textformatierung funktioniert nur in Richtextboxen.
Also, folgender Code ändert den gesamten Text um:
Bold (fett):
Code:
RichTextBox1.Font = New Font(RichTextBox1.Font, FontStyle.Bold)
Die zweite Angabe, also FontStyle, ist ausschlaggebend. FontStyle.Bold ergibt fett formatierten Text. Mit FontStyle.Italic erhalten wir kursiven Text; Und hier die anderen Angaben:
Unterstrichen: .Underline
Durchgestrichen: .Strikeout
kein Design: .Regular
Aber folgendes "Problem" tritt auf: ist der Text beispielweise gerade kursiv formatiert, und wir wählen unterstrichen aus, so wird der Text unterstrichen, ist allerdings nicht mehr kursiv. Lösung:
Bold (fett):
Code:
RichTextBox1.Font = New Font(RichTextBox1.Font, RichTextBox1.Font.Style + FontStyle.Bold)
So weit, so gut.
Neues Problem bzw. neue Bedingung: nur markierter Text soll formatiert werden. Lösung:
Code:
RichTextBox1.SelectionFont = New Font(RichTextBox1.SelectionFont, RichTextBox1.SelectionFont.Style + FontStyle.Bold)
Statt Font einfach SelectionFont. Bei Versuchen wie .SelectedText.Font kann man nur scheitern, in VB.NET kan nman markierten Text somit sehr einfach bearbeiten.
So, jetzt machen wir mal folgendes: Wenn Text markiert ist, soll er formatiert werden, wenn kein Text markiert ist, wird alles formatiert.
Code:
if(RichTextBox1.SelectedText = Nothing) Then
RichTextBox1.Font = New Font(RichTextBox1.Font, RichTextBox1.Font.Style + FontStyle.Bold)
else
RichTextBox1.SelectionFont = New Font(RichTextBox1.SelectionFont, RichTextBox1.SelectionFont.Style + FontStyle.Bold)
end if
Was noch zu beachten ist:
im Rich-Text-Format (*.rtf) speichern
zum Speichern RichTextBox1.SaveFile(SaveDialog1.FileName, RichTextBoxStreamType.RichText) verwenden
Ich hoffe, dass es weiterhilft, falls jemand mal einen Texteditor proggen will! _________________