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 struct CharacterRange

The CharacterRange type exposes the following members.

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

  NameDescription
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.
Top

  NameDescription
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.)
Top

  NameDescription
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.
Top

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 void HighlightACharacterRange(PaintEventArgs e)
{

    // Declare the string to draw. 
    string message = "This is the string to highlight a word in.";

    // Declare the word to highlight. 
    string searchWord = "string";

    // Create a CharacterRange array with the searchWord  
    // location and length.
    CharacterRange[] ranges = 
        new CharacterRange[]{new CharacterRange
        (message.IndexOf(searchWord), searchWord.Length)};

    // Construct a StringFormat object.
    StringFormat stringFormat1 = new StringFormat();

    // Set the ranges on the StringFormat object.
    stringFormat1.SetMeasurableCharacterRanges(ranges);

    // Declare the font to write the message in.
    Font largeFont = new Font(FontFamily.GenericSansSerif, 16.0F,
        GraphicsUnit.Pixel);

    // Construct a new Rectangle.
    Rectangle displayRectangle = new Rectangle(20, 20, 200, 100);

    // Convert the Rectangle to a RectangleF.
    RectangleF displayRectangleF = (RectangleF)displayRectangle;

    // Get the Region to highlight by calling the  
    // MeasureCharacterRanges method.
    Region[] charRegion = e.Graphics.MeasureCharacterRanges(message, 
        largeFont, displayRectangleF, stringFormat1);

    // Draw the message string on the form.
    e.Graphics.DrawString(message, largeFont, Brushes.Blue, 
        displayRectangleF);

    // Fill in the region using a semi-transparent color.
    e.Graphics.FillRegion(new SolidBrush(Color.FromArgb(50, Color.Fuchsia)), 
        charRegion[0]);

    largeFont.Dispose();

}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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