CharacterRange 구조체

정의

문자열 내에 문자 위치의 범위를 지정합니다.Specifies a range of character positions within a string.

public value class CharacterRange
public struct CharacterRange
type CharacterRange = struct
Public Structure CharacterRange
상속
CharacterRange

예제

다음 코드 예제에는 만드는 방법을 보여 줍니다는 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 이벤트를 전달 e 으로 PaintEventArgs합니다.Paste 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 구조체의 새 인스턴스를 초기화하고 문자열 내에 문자 위치의 범위를 지정합니다.Initializes a new instance of the CharacterRange structure, specifying a range of character positions within a string.

속성

First

CharacterRange의 첫째 문자의 문자열 위치를 가져오거나 설정합니다.Gets or sets the position in the string of the first character of this CharacterRange.

Length

CharacterRange의 위치 수를 가져오거나 설정합니다.Gets or sets the number of positions in this CharacterRange.

메서드

Equals(Object)

이 개체가 지정된 개체와 같은지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether this object is equivalent to the specified object.

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

연산자

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)

CharacterRange 개체를 비교합니다.Compares two CharacterRange objects. First 개체의 Length 또는 CharacterRange 값이 같지 않은지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the First or Length values of the two CharacterRange objects are not equal.

적용 대상