CharacterRange CharacterRange CharacterRange CharacterRange Struct

定義

指定字串中的字元位置範圍。Specifies a range of character positions within a string.

public value class CharacterRange
public struct CharacterRange
type CharacterRange = struct
Public Structure CharacterRange
繼承
CharacterRangeCharacterRangeCharacterRangeCharacterRange

範例

下列程式碼範例示範如何建立CharacterRange , 並使用它來反白顯示部分的字串。The following code example demonstrates how to create a CharacterRange and use it to highlight part of a string. 這個範例是設計來與 Windows Forms 搭配使用。This example is designed to be used with Windows Forms. 將範例貼入表單, 並在處理HighlightACharacterRange表單的Paint事件時呼叫方法, 傳遞ePaintEventArgsPaste the example into a form and call the HighlightACharacterRange method when handling the form's Paint event, passing e as PaintEventArgs.

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.
   array<CharacterRange>^ temp = {CharacterRange( message->IndexOf( searchWord ), searchWord->Length )};
   array<CharacterRange>^ranges = temp;

   // Construct a StringFormat object.
   StringFormat^ stringFormat1 = gcnew StringFormat;

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

   // Declare the font to write the message in.
   System::Drawing::Font^ largeFont = gcnew System::Drawing::Font( FontFamily::GenericSansSerif,16.0F,GraphicsUnit::Pixel );

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

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

   // Get the Region to highlight by calling the 
   // MeasureCharacterRanges method.
   array<System::Drawing::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( gcnew SolidBrush( Color::FromArgb( 50, Color::Fuchsia ) ), charRegion[ 0 ] );
   delete largeFont;
}
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();

}
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), _
            searchWord.Length)}

    ' Construct a StringFormat object.
    Dim stringFormat1 As New StringFormat

    ' Set the ranges on the StringFormat object.
    stringFormat1.SetMeasurableCharacterRanges(ranges)

    ' 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 = _
        RectangleF.op_Implicit(displayRectangle)

    ' 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, _
        displayRectangleF)

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

End Sub

建構函式

CharacterRange(Int32, Int32) CharacterRange(Int32, Int32) CharacterRange(Int32, Int32) CharacterRange(Int32, Int32)

初始化 CharacterRange 結構的新執行個體,指定字串中的字元位置範圍。Initializes a new instance of the CharacterRange structure, specifying a range of character positions within a string.

屬性

First First First First

取得或設定這個 CharacterRange 的第一個字元之字串中的位置。Gets or sets the position in the string of the first character of this CharacterRange.

Length Length Length Length

取得或設定在這個 CharacterRange 中的位置數目。Gets or sets the number of positions in this CharacterRange.

方法

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

取得值,指出此物件是否相當於指定的物件。Gets a value indicating whether this object is equivalent to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

傳回這個執行個體的雜湊碼。Returns the hash code for this instance.

運算子

Equality(CharacterRange, CharacterRange) Equality(CharacterRange, CharacterRange) Equality(CharacterRange, CharacterRange) Equality(CharacterRange, CharacterRange)

比較兩個 CharacterRange 物件。Compares two CharacterRange objects. 取得值,指出兩個 First 物件的 LengthCharacterRange 值是否相等。Gets a value indicating whether the First and Length values of the two CharacterRange objects are equal.

Inequality(CharacterRange, CharacterRange) Inequality(CharacterRange, CharacterRange) Inequality(CharacterRange, CharacterRange) Inequality(CharacterRange, CharacterRange)

比較兩個 CharacterRange 物件。Compares two CharacterRange objects. 取得值,指出兩個 First 物件的 LengthCharacterRange 值是否不相等。Gets a value indicating whether the First or Length values of the two CharacterRange objects are not equal.

適用於