Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB7
Expertise: Intermediate
Jun 1, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Removing styles from the font of the selected text of a RichTextBox

' Remove a style from the selection of a RichTextBox
' Example: RemoveFontStyle(richTextBox1, FontStyle.Bold)

Public Sub RemoveFontStyle(ByVal rtb As RichTextBox, _
    ByVal style As System.Drawing.FontStyle)
    ' if the selection length is > 0, work char by char.
    ' This is necessary because the selected text may have different
    ' styles in different substrings, and we want to preserve all
    ' the original styles of any char, except for removing
    ' the specified one
    If rtb.SelectionLength > 0 Then
        Dim selStart As Integer = rtb.SelectionStart
        Dim selLength As Integer = rtb.SelectionLength
        Dim currFont As System.Drawing.Font
        Dim currStyle As System.Drawing.FontStyle

        Dim i As Integer
        For i = 0 To selLength - 1
            ' select 1 char
            rtb.Select(selStart + i, 1)
            ' get the font of the selected char
            currFont = rtb.SelectionFont
            ' get the current style of this char, and 
            ' remove the specified style
            currStyle = currFont.Style
            currStyle = currStyle And Not style
            ' create and assign to the char a new font
            ' with the new style
            rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _
        ' reselect the original selection
        rtb.Select(selStart, selLength)
        rtb.SelectionFont = New Font(rtb.SelectionFont, _
            rtb.SelectionFont.Style And Not style)
    End If
End Sub
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date