CharacterRange Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Bereich von Zeichenpositionen innerhalb einer Zeichenfolge an.
public value class CharacterRange : IEquatable<System::Drawing::CharacterRange>
public value class CharacterRange
public struct CharacterRange : IEquatable<System.Drawing.CharacterRange>
public struct CharacterRange
type CharacterRange = struct
Public Structure CharacterRange
Implements IEquatable(Of CharacterRange)
Public Structure CharacterRange
- Vererbung
- Implementiert
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine CharacterRange Zeichenfolge erstellen und verwenden, um einen Teil einer Zeichenfolge hervorzuheben. Dieses Beispiel wurde für die Verwendung mit Windows Forms entwickelt. Fügen Sie das Beispiel in ein Formular ein, und rufen Sie die HighlightACharacterRange Methode beim Behandeln des Formularereignisses Paint auf und übergeben als ePaintEventArgs.
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
Konstruktoren
| Name | Beschreibung |
|---|---|
| CharacterRange(Int32, Int32) |
Initialisiert eine neue Instanz der CharacterRange Struktur, wobei ein Bereich von Zeichenpositionen innerhalb einer Zeichenfolge angegeben wird. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| First |
Dient zum Abrufen oder Festlegen der Position in der Zeichenfolge des ersten Zeichens dieses Zeichens CharacterRange. |
| Length |
Dient zum Abrufen oder Festlegen der Anzahl der Positionen in diesem CharacterRange. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(CharacterRange) |
Gibt an, ob die aktuelle Instanz einer anderen Instanz desselben Typs entspricht. |
| Equals(Object) |
Ruft einen Wert ab, der angibt, ob dieses Objekt dem angegebenen Objekt entspricht. |
| GetHashCode() |
Gibt den Hashcode für diesen instance zurück. |
Operatoren
| Name | Beschreibung |
|---|---|
| Equality(CharacterRange, CharacterRange) |
Vergleicht zwei CharacterRange-Objekte. Ruft einen Wert ab, der angibt, ob die First werte Length der beiden CharacterRange Objekte gleich sind. |
| Inequality(CharacterRange, CharacterRange) |
Vergleicht zwei CharacterRange-Objekte. Ruft einen Wert ab, der angibt, ob die First werte Length der beiden CharacterRange Objekte nicht gleich sind. |