RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

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



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

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
                rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _
            Catch ex As Exception
            End Try
        ' reselect the original selection
        rtb.Select(selStart, selLength)
        rtb.SelectionFont = New Font(rtb.SelectionFont, _
            rtb.SelectionFont.Style Or 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