VB.NET - RichTextBox - Applica la formattazione al testo selezionato
-
01-07-2019 - |
Domanda
Ho un controllo RichTextBox sul mio modulo. Ho anche questo pulsante, etichettato Grassetto , che desidero, se qualcuno seleziona il testo in RichTextBox , quindi preme il pulsante, il testo selezionato diventa grassetto. Qualche modo per farlo? Compito semplice e quotidiano per gli utenti finali. Grazie.
Soluzione
Una variazione di quanto sopra che prende in considerazione l'attivazione / disattivazione del grassetto in base alle informazioni sul carattere del testo attualmente selezionato:
With Me.rtbDoc
If .SelectionFont IsNot Nothing Then
Dim currentFont As System.Drawing.Font = .SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
If .SelectionFont.Bold = True Then
newFontStyle = currentFont.Style - Drawing.FontStyle.Bold
Else
newFontStyle = currentFont.Style + Drawing.FontStyle.Bold
End If
.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
End If
End With
Potrebbe essere necessario ripulirlo un po ', l'ho estratto da un vecchio progetto.
Altri suggerimenti
Ti consigliamo di utilizzare la proprietà .SelectionFont di RichTextBox e assegnargli un oggetto Font con gli stili desiderati.
Esempio: questo codice sarebbe nel gestore dell'evento per il pulsante:
Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont