CharacterRange 结构

定义

指定字符串内字符位置的范围。

C#
public struct CharacterRange
C#
public struct CharacterRange : IEquatable<System.Drawing.CharacterRange>
继承
CharacterRange
实现

示例

下面的代码示例演示如何创建 CharacterRange 并使用它突出显示字符串的一部分。 此示例旨在与 Windows 窗体 一起使用。 将示例粘贴到窗体中, HighlightACharacterRange 并在处理窗体的 Paint 事件时调用 方法,作为 ePaintEventArgs传递。

C#
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();
}

构造函数

CharacterRange(Int32, Int32)

指定字符串内字符位置的范围,初始化 CharacterRange 结构的新实例。

属性

First

获取或设置字符串中此 CharacterRange 的第一个字符的位置。

Length

获取或设置此 CharacterRange 中的位置数。

方法

Equals(CharacterRange)

指示当前实例是否等于同一类型的另一个实例。

Equals(Object)

获取指示此对象是否与指定对象等效的值。

GetHashCode()

返回此实例的哈希代码。

运算符

Equality(CharacterRange, CharacterRange)

比较两个 CharacterRange 对象。 指示两个 CharacterRange 对象的 FirstLength 值是否相等的值。

Inequality(CharacterRange, CharacterRange)

比较两个 CharacterRange 对象。 指示两个 CharacterRange 对象的 FirstLength 值是否不等的值。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9