CharacterRange 구조체
정의
문자열 내에 문자 위치의 범위를 지정합니다.Specifies a range of character positions within a string.
public value class CharacterRange
public struct CharacterRange
type CharacterRange = struct
Public Structure 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 개체의 Length 및 CharacterRange 값이 같은지 여부를 나타내는 값을 가져옵니다.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. |