Udostępnij za pośrednictwem


RichTextBox.Find Metoda

Definicja

Wyszukuje tekst w zawartości elementu RichTextBox.

Przeciążenia

Find(Char[])

Wyszukuje tekst kontrolki RichTextBox dla pierwszego wystąpienia znaku z listy znaków.

Find(String)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu.

Find(Char[], Int32)

Wyszukuje tekst kontrolki RichTextBox w określonym punkcie początkowym dla pierwszego wystąpienia znaku z listy znaków.

Find(String, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu z określonymi opcjami zastosowanymi do wyszukiwania.

Find(Char[], Int32, Int32)

Wyszukuje zakres tekstu w kontrolce RichTextBox dla pierwszego wystąpienia znaku z listy znaków.

Find(String, Int32, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu w określonej lokalizacji w kontrolce i z określonymi opcjami zastosowanymi do wyszukiwania.

Find(String, Int32, Int32, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu w zakresie tekstu w kontrolce i z określonymi opcjami zastosowanymi do wyszukiwania.

Find(Char[])

Wyszukuje tekst kontrolki RichTextBox dla pierwszego wystąpienia znaku z listy znaków.

public:
 int Find(cli::array <char> ^ characterSet);
public int Find (char[] characterSet);
member this.Find : char[] -> int
Public Function Find (characterSet As Char()) As Integer

Parametry

characterSet
Char[]

Tablica znaków do wyszukania.

Zwraca

Lokalizacja w kontrolce, w której znaleziono znaki wyszukiwania lub -1, jeśli znaki wyszukiwania nie zostaną znalezione lub w parametrze char określono pusty zestaw znaków wyszukiwania.

Przykłady

Poniższy przykład kodu przeszukuje zawartość elementu RichTextBox dla znaków, które są przekazywane do metody w parametrze text . Jeśli zawartość text tablicy znajduje się w RichTextBoxobiekcie , metoda zwraca indeks znalezionej wartości; w przeciwnym razie zwraca wartość -1. Przykład wymaga, aby ta metoda została umieszczona w klasie Form klasy zawierającej kontrolkę RichTextBox o nazwie i kontrolce Button o nazwie button1richTextBox1 , która jest połączona z Click procedurą obsługi zdarzeń zdefiniowaną w przykładzie.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      array<Char>^temp1 = {'D','e','l','t','a'};
      MessageBox::Show( FindMyText( temp1 ).ToString() );
   }

public:
   int FindMyText( array<Char>^text )
   {
      // Initialize the return value to false by default.
      int returnValue = -1;

      // Ensure that a search string has been specified and a valid start point.
      if ( text->Length > 0 )
      {
         // Obtain the location of the first character found in the control
         // that matches any of the characters in the char array.
         int indexToText = richTextBox1->Find( text );

         // Determine whether the text was found in richTextBox1.
         if ( indexToText >= 0 )
         {
            // Return the location of the character.
            returnValue = indexToText;
         }
      }

      return returnValue;
   }
private void button1_Click(object sender, System.EventArgs e)
{
    MessageBox.Show(FindMyText(new char[]{'D','e','l','t','a'}).ToString());
}

public int FindMyText(char[] text)
{
    // Initialize the return value to false by default.
    int returnValue = -1;

    // Ensure that a search string has been specified and a valid start point.
    if (text.Length > 0) 
    {
        // Obtain the location of the first character found in the control
        // that matches any of the characters in the char array.
        int indexToText = richTextBox1.Find(text);
        // Determine whether the text was found in richTextBox1.
        if(indexToText >= 0)
        {
            // Return the location of the character.
            returnValue = indexToText;
        }
    }

    return returnValue;
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    MessageBox.Show(FindMyText(New Char() {"B"c, "r"c, "a"c, "v"c, "o"c}).ToString())
End Sub


Public Function FindMyText(ByVal [text]() As Char) As Integer
    ' Initialize the return value to false by default.
    Dim returnValue As Integer = -1

    ' Ensure that a search string has been specified and a valid start point.
    If [text].Length > 0 Then
        ' Obtain the location of the first character found in the control
        ' that matches any of the characters in the char array.
        Dim indexToText As Integer = richTextBox1.Find([text])
        ' Determine whether the text was found in richTextBox1.
        If indexToText >= 0 Then
            ' Return the location of the character.
            returnValue = indexToText
        End If
    End If

    Return returnValue
End Function

Uwagi

Ta wersja Find metody wyszukuje pierwsze wystąpienie znaku z listy znaków określonych w parametrze characterSet i zwraca lokalizację znaku. Można na przykład przekazać tablicę znaków zawierających znak "Q". Jeśli kontrolka zawierała tekst "Quick Brown Fox", Find metoda zwróci wartość czterech. Wielkie litery i małe litery są traktowane jako różne wartości w wyszukiwaniu.

Jeśli właściwość zwraca wartość ujemną, wyszukiwane znaki nie zostały znalezione w zawartości kontrolki. Za pomocą tej metody można wyszukać grupę znaków w kontrolce. Ta wersja Find metody wymaga wyszukania znaków przez cały dokument zawarty w kontrolce. Jeśli zostanie znaleziony znak z listy znaków podanej w parametrze metody characterSet , wartość zwrócona przez tę metodę jest indeksem zerowym pozycji znaku w kontrolce. Spacja jest uznawana za znak przez metodę podczas określania lokalizacji znaku.

Dotyczy

Find(String)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu.

public:
 int Find(System::String ^ str);
public int Find (string str);
member this.Find : string -> int
Public Function Find (str As String) As Integer

Parametry

str
String

Tekst do zlokalizowania w kontrolce.

Zwraca

Lokalizacja w kontrolce, w której znaleziono tekst wyszukiwania lub -1, jeśli ciąg wyszukiwania nie zostanie znaleziony lub w parametrze str określono pusty ciąg wyszukiwania.

Przykłady

Poniższy przykład kodu przeszukuje całą zawartość obiektu RichTextBox dla pierwszego wystąpienia ciągu wyszukiwania przekazanego do parametru tekstowego metody . Jeśli ciąg wyszukiwania zostanie znaleziony w metodzie RichTextBox, metoda zwraca wartość true i wyróżnia tekst wyszukiwania. W przeciwnym razie zwraca falsewartość . Przykład wymaga, aby ta metoda została umieszczona w klasie , Form która zawiera RichTextBox nazwę richTextBox1.

public:
   bool FindMyText( String^ text )
   {
      // Initialize the return value to false by default.
      bool returnValue = false;
      
      // Ensure a search string has been specified.
      if ( text->Length > 0 )
      {
         // Obtain the location of the search string in richTextBox1.
         int indexToText = richTextBox1->Find( text );
         // Determine whether the text was found in richTextBox1.
         if ( indexToText >= 0 )
         {
            returnValue = true;
         }
      }

      return returnValue;
   }
public bool FindMyText(string text)
{
   // Initialize the return value to false by default.
   bool returnValue = false;

   // Ensure a search string has been specified.
   if (text.Length > 0) 
   {
      // Obtain the location of the search string in richTextBox1.
      int indexToText = richTextBox1.Find(text);
      // Determine whether the text was found in richTextBox1.
      if(indexToText >= 0)
      {
         returnValue = true;
      }
   }

   return returnValue;
}
Public Function FindMyText(text As String) As Boolean
    ' Initialize the return value to false by default.
    Dim returnValue As Boolean = False
    
    ' Ensure a search string has been specified.
    If text.Length > 0 Then
        ' Obtain the location of the search string in richTextBox1.
        Dim indexToText As Integer = richTextBox1.Find(text)
        ' Determine whether the text was found in richTextBox1.
        If indexToText >= 0 Then
            returnValue = True
        End If
    End If
    
    Return returnValue
End Function

Uwagi

Metoda Find wyszukuje tekst określony w parametrze str i zwraca lokalizację pierwszego znaku w kontrolce. Jeśli właściwość zwraca wartość ujemną, wyszukiwany ciąg tekstowy nie został znaleziony w zawartości kontrolki. Za pomocą tej metody można tworzyć funkcje wyszukiwania, które można udostępnić użytkownikowi kontrolki. Możesz również użyć tej metody, aby wyszukać tekst, który ma zostać zastąpiony określonym formatem. Jeśli na przykład użytkownik wprowadził daty w kontrolce, możesz użyć Find metody , aby wyszukać wszystkie daty w dokumencie i zastąpić je odpowiednim formatem przed użyciem SaveFile metody kontrolki.

Uwaga

Find Metody, które akceptują string obiekt jako parametr, nie mogą znaleźć tekstu zawartego w więcej niż jednym wierszu tekstu w obiekcie RichTextBox. Wykonanie takiego wyszukiwania zwróci wartość ujemną (-1).

Dotyczy

Find(Char[], Int32)

Wyszukuje tekst kontrolki RichTextBox w określonym punkcie początkowym dla pierwszego wystąpienia znaku z listy znaków.

public:
 int Find(cli::array <char> ^ characterSet, int start);
public int Find (char[] characterSet, int start);
member this.Find : char[] * int -> int
Public Function Find (characterSet As Char(), start As Integer) As Integer

Parametry

characterSet
Char[]

Tablica znaków do wyszukania.

start
Int32

Lokalizacja w tekście kontrolki, w której ma rozpocząć wyszukiwanie.

Zwraca

Lokalizacja w kontrolce, w której można znaleźć znaki wyszukiwania.

Przykłady

Poniższy przykład kodu przeszukuje zawartość elementu RichTextBox dla znaków, które są przekazywane do metody w parametrze text . Wyszukiwanie rozpoczyna się od lokalizacji określonej RichTextBox przez start parametr FindMyText metody . Jeśli zawartość tablicy tekstowej znajduje się w RichTextBoxobiekcie , metoda zwraca indeks znalezionej wartości. W przeciwnym razie zwraca wartość -1. Przykład wymaga, aby ta metoda została umieszczona w klasie Form obiektu zawierającego kontrolkę RichTextBox o nazwie i kontrolce Button o nazwie richTextBox1button1 połączonej Click z procedurą obsługi zdarzeń zdefiniowaną w przykładzie.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      array<Char>^temp0 = {'B','r','a','v','o'};
      MessageBox::Show( FindMyText( temp0, 5 ).ToString() );
   }

public:
   int FindMyText( array<Char>^text, int start )
   {
      // Initialize the return value to false by default.
      int returnValue = -1;

      // Ensure that a valid char array has been specified and a valid start point.
      if ( text->Length > 0 && start >= 0 )
      {
         // Obtain the location of the first character found in the control
         // that matches any of the characters in the char array.
         int indexToText = richTextBox1->Find( text, start );

         // Determine whether any of the chars are found in richTextBox1.
         if ( indexToText >= 0 )
         {
            // Return the location of the character.
            returnValue = indexToText;
         }
      }

      return returnValue;
   }
private void button1_Click(object sender, System.EventArgs e)
{
    MessageBox.Show(FindMyText(new char[]{'B','r','a','v','o'}, 5).ToString());
}

public int FindMyText(char[] text, int start)
{
    // Initialize the return value to false by default.
    int returnValue = -1;

    // Ensure that a valid char array has been specified and a valid start point.
    if (text.Length > 0 && start >= 0) 
    {
        // Obtain the location of the first character found in the control
        // that matches any of the characters in the char array.
        int indexToText = richTextBox1.Find(text, start);
        // Determine whether any of the chars are found in richTextBox1.
        if(indexToText >= 0)
        {
            // Return the location of the character.
            returnValue = indexToText;
        }
    }

    return returnValue;
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    MessageBox.Show(FindMyText(New Char() {"B"c, "r"c, "a"c, "v"c, "o"c}, 5).ToString())
End Sub


Public Function FindMyText(ByVal text() As Char, ByVal start As Integer) As Integer
    ' Initialize the return value to false by default.
    Dim returnValue As Integer = -1

    ' Ensure that a valid char array has been specified and a valid start point.
    If [text].Length > 0 And start >= 0 Then
        ' Obtain the location of the first character found in the control
        ' that matches any of the characters in the char array.
        Dim indexToText As Integer = richTextBox1.Find([text], start)
        ' Determine whether any of the chars are found in richTextBox1.
        If indexToText >= 0 Then
            ' Return the location of the character.
            returnValue = indexToText
        End If
    End If

    Return returnValue
End Function

Uwagi

Ta wersja Find metody wyszukuje pierwsze wystąpienie znaku z listy znaków określonych w parametrze characterSet i zwraca lokalizację znaku. Można na przykład przekazać tablicę znaków zawierających znak "Q". Jeśli kontrolka zawierała tekst "Quick Brown Fox", Find metoda zwróci wartość czterech. Wielkie litery i małe litery są traktowane jako różne wartości w wyszukiwaniu.

Jeśli właściwość zwraca wartość ujemną, wyszukiwane znaki nie zostały znalezione w zawartości kontrolki. Za pomocą tej metody można wyszukać grupę znaków w kontrolce. Jeśli zostanie znaleziony znak z listy znaków podanej w parametrze metody characterSet , wartość zwrócona przez tę metodę jest indeksem zerowym pozycji znaku w kontrolce. Spacja jest uznawana za znak przez metodę podczas określania lokalizacji znaku.

Ta wersja Find metody umożliwia wyszukiwanie zestawu znaków z określonej pozycji początkowej w tekście kontrolki przez określenie wartości parametru start . Wartość zero wskazuje, że wyszukiwanie powinno rozpoczynać się od początku dokumentu kontrolki. Możesz użyć tej wersji Find metody, aby zawęzić wyszukiwanie, aby uniknąć tekstu, który już znasz, nie zawiera określonych znaków, których szukasz, lub nie są ważne w wyszukiwaniu.

Dotyczy

Find(String, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu z określonymi opcjami zastosowanymi do wyszukiwania.

public:
 int Find(System::String ^ str, System::Windows::Forms::RichTextBoxFinds options);
public int Find (string str, System.Windows.Forms.RichTextBoxFinds options);
member this.Find : string * System.Windows.Forms.RichTextBoxFinds -> int
Public Function Find (str As String, options As RichTextBoxFinds) As Integer

Parametry

str
String

Tekst do zlokalizowania w kontrolce.

options
RichTextBoxFinds

Bitowa kombinacja RichTextBoxFinds wartości.

Zwraca

Lokalizacja w kontrolce, w której znaleziono tekst wyszukiwania.

Przykłady

Poniższy przykład kodu przeszukuje całą zawartość obiektu RichTextBox dla pierwszego wystąpienia ciągu wyszukiwania przekazanego do parametru tekstowego metody . Jeśli ciąg wyszukiwania zostanie znaleziony w metodzie RichTextBox, metoda zwraca wartość true i wyróżnia tekst. W przeciwnym razie zwraca falsewartość . Przykład określa również opcje w wyszukiwaniu, aby dopasować wielkość liter określonego ciągu wyszukiwania. Przykład wymaga, aby ta metoda została umieszczona w klasie , Form która zawiera RichTextBox nazwę richTextBox1.

public:
   bool FindMyText( String^ text )
   {
      // Initialize the return value to false by default.
      bool returnValue = false;
      
      // Ensure a search string has been specified.
      if ( text->Length > 0 )
      {
         // Obtain the location of the search string in richTextBox1.
         int indexToText = richTextBox1->Find( text, RichTextBoxFinds::MatchCase );
         // Determine if the text was found in richTextBox1.
         if ( indexToText >= 0 )
         {
            returnValue = true;
         }
      }

      return returnValue;
   }
public bool FindMyText(string text)
{
   // Initialize the return value to false by default.
   bool returnValue = false;

   // Ensure a search string has been specified.
   if (text.Length > 0) 
   {
      // Obtain the location of the search string in richTextBox1.
      int indexToText = richTextBox1.Find(text, RichTextBoxFinds.MatchCase);
      // Determine if the text was found in richTextBox1.
      if(indexToText >= 0)
      {
         returnValue = true;
      }
   }

   return returnValue;
}
Public Function FindMyText(text As String) As Boolean
    ' Initialize the return value to false by default.
    Dim returnValue As Boolean = False
    
    ' Ensure a search string has been specified.
    If text.Length > 0 Then
        ' Obtain the location of the search string in richTextBox1.
        Dim indexToText As Integer = richTextBox1.Find(text, RichTextBoxFinds.MatchCase)
        ' Determine if the text was found in richTextBox1.
        If indexToText >= 0 Then
            returnValue = True
        End If
    End If
    
    Return returnValue
End Function

Uwagi

Metoda Find wyszukuje tekst określony w parametrze str i zwraca lokalizację pierwszego znaku w kontrolce. Jeśli właściwość zwraca wartość ujemną, wyszukiwany ciąg tekstowy nie został znaleziony w zawartości kontrolki. Za pomocą tej metody można tworzyć funkcje wyszukiwania, które można udostępnić użytkownikowi kontrolki. Możesz również użyć tej metody, aby wyszukać tekst, który ma zostać zastąpiony określonym formatem. Jeśli na przykład użytkownik wprowadził daty do kontrolki, możesz użyć Find metody , aby wyszukać wszystkie daty w dokumencie i zastąpić je odpowiednim formatem przed użyciem SaveFile metody kontrolki.

Za pomocą tej wersji Find metody można określić opcje, które umożliwiają rozwinięcie lub zawężenie wyszukiwania. Można określić opcje, które umożliwiają dopasowanie wielkości liter słowa wyszukiwania lub wyszukiwanie całych wyrazów zamiast częściowych wyrazów. Określając RichTextBoxFinds.Reverse wyliczenie w parametrze options , można wyszukać tekst od dołu dokumentu do góry zamiast domyślnej metody wyszukiwania od góry do dołu.

Uwaga

Find Metody, które akceptują string obiekt jako parametr, nie mogą znaleźć tekstu zawartego w więcej niż jednym wierszu tekstu w obiekcie RichTextBox. Wykonanie takiego wyszukiwania zwróci wartość ujemną (-1).

Dotyczy

Find(Char[], Int32, Int32)

Wyszukuje zakres tekstu w kontrolce RichTextBox dla pierwszego wystąpienia znaku z listy znaków.

public:
 int Find(cli::array <char> ^ characterSet, int start, int end);
public int Find (char[] characterSet, int start, int end);
member this.Find : char[] * int * int -> int
Public Function Find (characterSet As Char(), start As Integer, end As Integer) As Integer

Parametry

characterSet
Char[]

Tablica znaków do wyszukania.

start
Int32

Lokalizacja w tekście kontrolki, w której ma rozpocząć wyszukiwanie.

end
Int32

Lokalizacja w tekście kontrolki, w której ma zakończyć wyszukiwanie.

Zwraca

Lokalizacja w kontrolce, w której znajdują się znaki wyszukiwania.

Wyjątki

characterSet ma wartość null.

start jest mniejsza niż 0 lub większa niż długość tekstu w kontrolce.

Uwagi

Ta wersja Find metody wyszukuje pierwsze wystąpienie znaku z listy znaków określonych w parametrze characterSet i zwraca lokalizację znaku. Można na przykład przekazać tablicę znaków zawierających znak "Q". Jeśli kontrolka zawierała tekst "Quick Brown Fox", Find metoda zwróci wartość czterech. Wielkie litery i małe litery są traktowane jako różne wartości w wyszukiwaniu.

Jeśli właściwość zwraca wartość ujemną, wyszukiwane znaki nie zostały znalezione w zawartości kontrolki. Za pomocą tej metody można wyszukać grupę znaków w kontrolce. Jeśli zostanie znaleziony znak z listy znaków podanej w parametrze metody characterSet , wartość zwrócona przez tę metodę jest indeksem zerowym pozycji znaku w kontrolce. Spacja jest uznawana za znak przez metodę podczas określania lokalizacji znaku.

Ta wersja Find metody umożliwia wyszukiwanie zestawu znaków z zakresu tekstu w kontrolce przez określenie wartości parametrów start i end . Wartość zero dla parametru start wskazuje, że wyszukiwanie powinno rozpoczynać się od początku dokumentu kontrolki. Wartość -1 parametru end wskazuje, że wyszukiwanie powinno kończyć się na końcu tekstu w kontrolce. Za pomocą tej wersji Find metody możesz zawęzić wyszukiwanie do określonego zakresu tekstu w kontrolce, aby uniknąć przeszukiwania obszarów dokumentu, które nie są ważne dla potrzeb aplikacji.

Dotyczy

Find(String, Int32, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu w określonej lokalizacji w kontrolce i z określonymi opcjami zastosowanymi do wyszukiwania.

public:
 int Find(System::String ^ str, int start, System::Windows::Forms::RichTextBoxFinds options);
public int Find (string str, int start, System.Windows.Forms.RichTextBoxFinds options);
member this.Find : string * int * System.Windows.Forms.RichTextBoxFinds -> int
Public Function Find (str As String, start As Integer, options As RichTextBoxFinds) As Integer

Parametry

str
String

Tekst do zlokalizowania w kontrolce.

start
Int32

Lokalizacja w tekście kontrolki, w której chcesz rozpocząć wyszukiwanie.

options
RichTextBoxFinds

Bitowa kombinacja RichTextBoxFinds wartości.

Zwraca

Lokalizacja w kontrolce, w której znaleziono tekst wyszukiwania.

Przykłady

Poniższy przykład kodu przeszukuje całą zawartość RichTextBox elementu dla pierwszego wystąpienia ciągu wyszukiwania przekazanego do parametru tekstowego metody . Lokalizacja początkowa wyszukiwania jest określana przez parametr początkowy metody . Jeśli ciąg wyszukiwania zostanie znaleziony w metodzie RichTextBox, metoda zwraca lokalizację indeksu pierwszego znaku znalezionego tekstu i wyróżnia znaleziony tekst. W przeciwnym razie zwraca wartość -1. Przykład określa również opcje w wyszukiwaniu, aby pasować do przypadku określonego ciągu wyszukiwania. Przykład wymaga, aby ta metoda została umieszczona w klasie Form zawierającej RichTextBox nazwę richTextBox1. W tym przykładzie można wykonać operację typu "Znajdź dalej". Po znalezieniu wystąpienia tekstu wyszukiwania można znaleźć inne wystąpienia tekstu, zmieniając wartość start parametru w lokalizacji poza położeniem bieżącego dopasowania.

public:
   int FindMyText( String^ text, int start )
   {
      // Initialize the return value to false by default.
      int returnValue = -1;
      
      // Ensure that a search string has been specified and a valid start point.
      if ( text->Length > 0 && start >= 0 )
      {
         // Obtain the location of the search string in richTextBox1.
         int indexToText = richTextBox1->Find( text, start, RichTextBoxFinds::MatchCase );
         // Determine whether the text was found in richTextBox1.
         if ( indexToText >= 0 )
         {
            returnValue = indexToText;
         }
      }

      return returnValue;
   }
public int FindMyText(string text, int start)
{
   // Initialize the return value to false by default.
   int returnValue = -1;

   // Ensure that a search string has been specified and a valid start point.
   if (text.Length > 0 && start >= 0) 
   {
      // Obtain the location of the search string in richTextBox1.
      int indexToText = richTextBox1.Find(text, start, RichTextBoxFinds.MatchCase);
      // Determine whether the text was found in richTextBox1.
      if(indexToText >= 0)
      {
         returnValue = indexToText;
      }
   }

   return returnValue;
}
Public Function FindMyText(text As String, start As Integer) As Integer
    ' Initialize the return value to false by default.
    Dim returnValue As Integer = - 1
    
    ' Ensure that a search string has been specified and a valid start point.
    If text.Length > 0 And start >= 0 Then
        ' Obtain the location of the search string in richTextBox1.
        Dim indexToText As Integer = richTextBox1.Find(text, start, _
            RichTextBoxFinds.MatchCase)
        ' Determine whether the text was found in richTextBox1.
        If indexToText >= 0 Then
            returnValue = indexToText
        End If
    End If
    
    Return returnValue
End Function

Uwagi

Metoda Find wyszukuje tekst określony w parametrze str i zwraca lokalizację pierwszego znaku ciągu wyszukiwania w kontrolce. Jeśli właściwość zwraca wartość ujemną, wyszukiwany ciąg tekstowy nie został znaleziony w zawartości kontrolki. Tej metody można użyć do utworzenia funkcji wyszukiwania, które można udostępnić użytkownikowi kontrolki. Możesz również użyć tej metody, aby wyszukać tekst, który ma zostać zastąpiony określonym formatem. Jeśli na przykład użytkownik wprowadził daty do kontrolki, możesz użyć Find metody , aby wyszukać wszystkie daty w dokumencie i zastąpić je odpowiednim formatem przed użyciem SaveFile metody kontrolki.

Za pomocą tej wersji Find metody można określić opcje, które umożliwiają rozwinięcie lub zawężenie wyszukiwania. Można określić opcje, które umożliwiają dopasowanie wielkości liter słowa wyszukiwania lub wyszukiwania całych wyrazów zamiast częściowych wyrazów. Określając RichTextBoxFinds.Reverse wyliczenie w parametrze options , można wyszukać tekst od dołu dokumentu do góry zamiast domyślnej górnej do dolnej metody wyszukiwania. Ta wersja Find metody umożliwia również zawężenie wyszukiwania tekstu przez wybranie konkretnej pozycji początkowej w tekście kontrolki. Ta funkcja umożliwia uniknięcie wyszukiwania tekstu lub miejsca, w którym wyszukiwany tekst nie istnieje. RichTextBoxFinds.Reverse Gdy wartość jest określona w parametrzeoptions, wartość start parametru wskazuje położenie, w którym zakończy się wyszukiwanie odwrotne, ponieważ wyszukiwanie rozpocznie się w dolnej części dokumentu podczas korzystania z tej wersji Find metody.

Uwaga

Metody Find akceptujące string jako parametr nie mogą znaleźć tekstu zawartego w więcej niż jednym wierszu tekstu w obiekcie RichTextBox. Wykonanie takiego wyszukiwania zwróci wartość ujemną (-1).

Dotyczy

Find(String, Int32, Int32, RichTextBoxFinds)

Wyszukuje tekst w kontrolce RichTextBox dla ciągu w zakresie tekstu w kontrolce i z określonymi opcjami zastosowanymi do wyszukiwania.

public:
 int Find(System::String ^ str, int start, int end, System::Windows::Forms::RichTextBoxFinds options);
public int Find (string str, int start, int end, System.Windows.Forms.RichTextBoxFinds options);
member this.Find : string * int * int * System.Windows.Forms.RichTextBoxFinds -> int
Public Function Find (str As String, start As Integer, end As Integer, options As RichTextBoxFinds) As Integer

Parametry

str
String

Tekst do zlokalizowania w kontrolce.

start
Int32

Lokalizacja w tekście kontrolki, w której chcesz rozpocząć wyszukiwanie.

end
Int32

Lokalizacja w tekście kontrolki, w której ma zakończyć wyszukiwanie. Ta wartość musi być równa ujemnej (-1) lub większej lub równej parametrowi start .

options
RichTextBoxFinds

Bitowa kombinacja RichTextBoxFinds wartości.

Zwraca

Lokalizacja w kontrolce, w której znaleziono tekst wyszukiwania.

Wyjątki

Parametr str to null.

Parametr start był mniejszy niż zero.

-lub-

Parametr end był mniej parametru start .

Przykłady

Poniższy przykład kodu wyszukuje sekcję tekstu w obiekcie dla RichTextBox pierwszego wystąpienia ciągu wyszukiwania przekazanego searchText do parametru metody . Zakres do wyszukiwania tekstu w kontrolce jest określony przez searchStart parametry i searchEnd metody . Jeśli ciąg wyszukiwania zostanie znaleziony w metodzie RichTextBox, metoda zwraca lokalizację indeksu pierwszego znaku znalezionego tekstu i wyróżnia znaleziony tekst. W przeciwnym razie zwraca wartość -1. W przykładzie użyto options również parametru Find metody , aby określić, że znaleziony tekst powinien być zgodny z wielkością ciągu wyszukiwania. Przykład wymaga, aby ta metoda została umieszczona w klasie Form , która zawiera kontrolkę RichTextBox o nazwie richTextBox1. Po znalezieniu pierwszego wystąpienia ciągu wyszukiwania możesz użyć tego przykładu, aby znaleźć inne wystąpienia w tekście.

public:
   int FindMyText( String^ searchText, int searchStart, int searchEnd )
   {
      // Initialize the return value to false by default.
      int returnValue = -1;

      // Ensure that a search string and a valid starting point are specified.
      if ( searchText->Length > 0 && searchStart >= 0 )
      {
         // Ensure that a valid ending value is provided.
         if ( searchEnd > searchStart || searchEnd == -1 )
         {
            // Obtain the location of the search string in richTextBox1.
            int indexToText = richTextBox1->Find( searchText, searchStart, searchEnd, RichTextBoxFinds::MatchCase );

            // Determine whether the text was found in richTextBox1.
            if ( indexToText >= 0 )
            {
               // Return the index to the specified search text.
               returnValue = indexToText;
            }
         }
      }

      return returnValue;
   }
public int FindMyText(string searchText, int searchStart, int searchEnd)
{
    // Initialize the return value to false by default.
    int returnValue = -1;

    // Ensure that a search string and a valid starting point are specified.
    if (searchText.Length > 0 && searchStart >= 0) 
    {
        // Ensure that a valid ending value is provided.
        if (searchEnd > searchStart || searchEnd == -1)
        {	
            // Obtain the location of the search string in richTextBox1.
            int indexToText = richTextBox1.Find(searchText, searchStart, searchEnd, RichTextBoxFinds.MatchCase);
            // Determine whether the text was found in richTextBox1.
            if(indexToText >= 0)
            {
                // Return the index to the specified search text.
                returnValue = indexToText;
            }
        }
    }

    return returnValue;
}
Public Function FindMyText(ByVal searchText As String, ByVal searchStart As Integer, ByVal searchEnd As Integer) As Integer
    ' Initialize the return value to false by default.
    Dim returnValue As Integer = -1

    ' Ensure that a search string and a valid starting point are specified.
    If searchText.Length > 0 And searchStart >= 0 Then
        ' Ensure that a valid ending value is provided.
        If searchEnd > searchStart Or searchEnd = -1 Then
            ' Obtain the location of the search string in richTextBox1.
        Dim indexToText As Integer = richTextBox1.Find(searchText, searchStart, searchEnd, RichTextBoxFinds.MatchCase)
            ' Determine whether the text was found in richTextBox1.
            If indexToText >= 0 Then
                ' Return the index to the specified search text.
                returnValue = indexToText
            End If
        End If
    End If

    Return returnValue
End Function

Uwagi

Metoda Find wyszukuje tekst określony w parametrze str i zwraca lokalizację pierwszego znaku ciągu wyszukiwania w kontrolce. Jeśli właściwość zwraca wartość ujemną, wyszukiwany ciąg tekstowy nie został znaleziony w zawartości kontrolki. Tej metody można użyć do utworzenia funkcji wyszukiwania, które można udostępnić użytkownikowi kontrolki. Możesz również użyć tej metody, aby wyszukać tekst, który ma zostać zastąpiony określonym formatem. Jeśli na przykład użytkownik wprowadził daty do kontrolki, możesz użyć Find metody , aby wyszukać wszystkie daty w dokumencie i zastąpić je odpowiednim formatem przed użyciem SaveFile metody kontrolki.

Za pomocą tej wersji Find metody można określić opcje, które umożliwiają rozwinięcie lub zawężenie wyszukiwania. Można określić opcje, które umożliwiają dopasowanie wielkości liter słowa wyszukiwania lub wyszukiwania całych wyrazów zamiast częściowych wyrazów. Określając RichTextBoxFinds.Reverse wyliczenie w parametrze options , można wyszukać tekst od dołu dokumentu do góry zamiast domyślnej górnej do dolnej metody wyszukiwania. Ta wersja Find metody umożliwia również zawężenie wyszukiwania tekstu przez wybranie określonej pozycji początkowej i końcowej w tekście kontrolki. Ta funkcja umożliwia ograniczenie zakresu wyszukiwania do określonej sekcji tekstu kontrolki. Jeśli do parametru end jest przypisana wartość ujemna (-1), metoda będzie wyszukiwana do końca tekstu w wyszukiwaniu RichTextBox normalnym. W przypadku wyszukiwania zwrotnego wartość ujemna (-1) przypisana do end parametru wskazuje, że tekst zostanie przeszukany z końca tekstu (do dołu) do pozycji zdefiniowanej przez start parametr . start Gdy parametry i end są podane tej samej wartości, cała kontrolka jest wyszukiwana pod kątem normalnych wyszukiwań. W przypadku wyszukiwania wstecznego przeszukiwana jest cała kontrolka, ale wyszukiwanie rozpoczyna się w dolnej części dokumentu i wyszukuje w górnej części dokumentu.

Uwaga

Metody Find akceptujące string jako parametr nie mogą znaleźć tekstu zawartego w więcej niż jednym wierszu tekstu w obiekcie RichTextBox. Wykonanie takiego wyszukiwania zwróci wartość ujemną (-1).

Dotyczy