Aracılığıyla paylaş


CharacterRange Yapı

Tanım

Bir dize içindeki karakter konumları aralığını belirtir.

public value class CharacterRange
public value class CharacterRange : IEquatable<System::Drawing::CharacterRange>
public struct CharacterRange
public struct CharacterRange : IEquatable<System.Drawing.CharacterRange>
type CharacterRange = struct
Public Structure CharacterRange
Public Structure CharacterRange
Implements IEquatable(Of CharacterRange)
Devralma
CharacterRange
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bir dizenin bir CharacterRange bölümünü vurgulamak için nasıl oluşturulacağını ve kullanılacağını gösterir. Bu örnek, Windows Forms ile kullanılacak şekilde tasarlanmıştır. Örneği bir forma yapıştırın ve formun HighlightACharacterRangePaint olayını işlerken yöntemini çağırın e ve olarak geçirin 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

Oluşturucular

CharacterRange(Int32, Int32)

Bir dize içindeki CharacterRange karakter konumları aralığını belirterek yapının yeni bir örneğini başlatır.

Özellikler

First

Bu CharacterRangeöğesinin ilk karakterinin dizesindeki konumu alır veya ayarlar.

Length

Bu CharacterRangeiçindeki konum sayısını alır veya ayarlar.

Yöntemler

Equals(CharacterRange)

Geçerli örneğin aynı türdeki başka bir örneğe eşit olup olmadığını gösterir.

Equals(Object)

Bu nesnenin belirtilen nesneye eşdeğer olup olmadığını belirten bir değer alır.

GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

İşleçler

Equality(CharacterRange, CharacterRange)

İki CharacterRange nesneyi karşılaştırır. İki CharacterRange nesnenin ve Length değerlerinin First eşit olup olmadığını belirten bir değer alır.

Inequality(CharacterRange, CharacterRange)

İki CharacterRange nesneyi karşılaştırır. İki CharacterRange nesnenin First veya Length değerlerinin eşit olup olmadığını belirten bir değer alır.

Şunlara uygulanır