Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

CharacterRange Structure

Specifies a range of character positions within a string.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

Public Structure CharacterRange

The CharacterRange type exposes the following members.

Public methodCharacterRangeInitializes a new instance of the CharacterRange structure, specifying a range of character positions within a string.

Public propertyFirstGets or sets the position in the string of the first character of this CharacterRange.
Public propertyLengthGets or sets the number of positions in this CharacterRange.

Public methodEqualsGets a value indicating whether this object is equivalent to the specified object. (Overrides ValueType.Equals(Object).)
Public methodGetHashCodeReturns the hash code for this instance. (Overrides ValueType.GetHashCode.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodToStringReturns the fully qualified type name of this instance. (Inherited from ValueType.)

Public operatorStatic memberEqualityCompares two CharacterRange objects. Gets a value indicating whether the First and Length values of the two CharacterRange objects are equal.
Public operatorStatic memberInequalityCompares two CharacterRange objects. Gets a value indicating whether the First or Length values of the two CharacterRange objects are not equal.

The following code example demonstrates how to create a CharacterRange and use it to highlight part of a string. This example is designed to be used with Windows Forms. Paste the example into a form and call the HighlightACharacterRange method when handling the form's Paint event, passing e as PaintEventArgs.

Private Sub HighlightACharacterRange(ByVal e As PaintEventArgs)

    ' Declare the string to draw. 
    Dim message As String = _
        "This is the string to highlight a word in." 

    ' Declare the word to highlight. 
    Dim searchWord As String = "string" 

    ' Create a CharacterRange array with the searchWord  
    ' location and length. 
    Dim ranges() As CharacterRange = _
        New CharacterRange() _
            {New CharacterRange(message.IndexOf(searchWord), _

    ' Construct a StringFormat object. 
    Dim stringFormat1 As New StringFormat

    ' Set the ranges on the StringFormat object.

    ' Declare the font to write the message in. 
    Dim largeFont As Font = New Font(FontFamily.GenericSansSerif, _
        16.0F, GraphicsUnit.Pixel)

    ' Construct a new Rectangle. 
    Dim displayRectangle As New Rectangle(20, 20, 200, 100)

    ' Convert the Rectangle to a RectangleF. 
    Dim displayRectangleF As RectangleF = _

    ' Get the Region to highlight by calling the  
    ' MeasureCharacterRanges method. 
    Dim charRegion() As Region = _
        e.Graphics.MeasureCharacterRanges(message, _
        largeFont, displayRectangleF, stringFormat1)

    ' Draw the message string on the form.
    e.Graphics.DrawString(message, largeFont, Brushes.Blue, _

    ' Fill in the region using a semi-transparent color.
    e.Graphics.FillRegion(New SolidBrush(Color.FromArgb(50, _
        Color.Fuchsia)), charRegion(0))

End Sub

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft