devxlogo

Adding styles to the font of the selected text of a RichTextBox

Adding styles to the font of the selected text of a RichTextBox

' Add a style to the selection of a RichTextBox,' without deleting the current styles that may be already' present in the selection or in portions of it'' Example: AddFontStyle(richTextBox1, FontStyle.Bold)Public Sub AddFontStyle(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, and just add 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 add the             ' specified style            currStyle = currFont.Style            currStyle = currStyle Or style            ' create and assign to the char a new font             ' with the new style this may throw an exception,             ' is the current font family does not support            ' the specified style, so handle this possible situation            Try                rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _                    currStyle)            Catch ex As Exception            End Try        Next        ' reselect the original selection        rtb.Select(selStart, selLength)    Else        rtb.SelectionFont = New Font(rtb.SelectionFont, _            rtb.SelectionFont.Style Or style)    End IfEnd Sub

devx-admin

Share the Post: