Поделиться через


RichTextBox.Find Метод

Определение

Осуществляет поиск текста в содержимом RichTextBox.

Перегрузки

Find(Char[])

Осуществляет поиск первого экземпляра символа из списка символов по тексту элемента управления RichTextBox.

Find(String)

Осуществляет поиск текста в элементе управления RichTextBox.

Find(Char[], Int32)

С заданной начальной позиции осуществляет поиск первого экземпляра символа из списка символов по тексту элемента управления RichTextBox.

Find(String, RichTextBoxFinds)

Осуществляет поиск в элементе управления RichTextBox текстовой строки с определенными параметрами, примененными к поиску.

Find(Char[], Int32, Int32)

Осуществляет поиск первого экземпляра символа из списка символов по отрезку текста элемента управления RichTextBox.

Find(String, Int32, RichTextBoxFinds)

Осуществляет поиск текстовой строки в определенном месте текста элемента управления RichTextBox с примененными к поиску параметрами.

Find(String, Int32, Int32, RichTextBoxFinds)

Осуществляет поиск текстовой строки в определенном отрезке текста элемента управления RichTextBox с примененными к поиску параметрами.

Find(Char[])

Осуществляет поиск первого экземпляра символа из списка символов по тексту элемента управления RichTextBox.

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

Параметры

characterSet
Char[]

Массив символов для поиска.

Возвращаемое значение

Расположение в элементе управления, если искомые символы были найдены, или -1, если искомые символы не были найдены, или в качестве параметра char был указан пустой набор символов.

Примеры

В следующем примере кода выполняется поиск символов, передаваемых RichTextBox в метод в параметре text . Если содержимое массива text найдено в , метод возвращает индекс найденного значения; в RichTextBoxпротивном случае возвращается значение -1. В примере требуется, чтобы этот метод помещается в класс объекта Form , который содержит RichTextBox элемент управления с именем richTextBox1 и Button элемент управления с именем button1, подключенный к обработчику Click событий, определенному в примере.

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

Комментарии

Эта версия Find метода выполняет поиск первого экземпляра символа из списка символов, указанных в параметре characterSet , и возвращает расположение символа. Например, передается массив символов, содержащий символ "Q". Если элемент управления содержит текст The Quick Brown Fox, Find метод вернет значение 4. Символ верхнего и нижнего регистра считаются различными значениями в поиске.

Если свойство возвращает отрицательное значение, искомые символы не найдены в содержимом элемента управления . Этот метод можно использовать для поиска группы символов в элементе управления . Для этой версии Find метода требуется, чтобы поиск символов выполнялся во всем документе, содержащемся в элементе управления . Если найден символ из списка символов, указанного в параметре метода characterSet , значение, возвращаемое этим методом, представляет собой отсчитываемый от нуля индекс позиции символа в элементе управления . Пробел считается символом методом при определении расположения символа.

Применяется к

Find(String)

Осуществляет поиск текста в элементе управления RichTextBox.

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

Параметры

str
String

Текст, который необходимо найти в элементе управления.

Возвращаемое значение

Расположение в элементе управления, если искомый текст был найден, или -1, если искомая строка не были найдены, или в качестве параметра str была указана пустая строка.

Примеры

В следующем примере кода выполняется поиск всего содержимого RichTextBox объекта для первого экземпляра строки поиска, передаваемой в текстовый параметр метода . Если строка поиска найдена RichTextBoxв , метод возвращает значение true и выделяет текст поиска, в противном случае возвращает false. В примере требуется, чтобы этот метод был помещен в класс объекта Form , который содержит RichTextBox с именем 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

Комментарии

Метод Find выполняет поиск текста, указанного в параметре str , и возвращает расположение первого символа в элементе управления . Если свойство возвращает отрицательное значение, текстовая строка, для которой выполняется поиск, не найдена в содержимом элемента управления . Этот метод можно использовать для создания функций поиска, которые могут быть предоставлены пользователю элемента управления . Этот метод также можно использовать для поиска текста, который необходимо заменить определенным форматом. Например, если пользователь ввел даты в элемент управления , можно использовать Find метод для поиска всех дат в документе и замены их соответствующим форматом перед использованием SaveFile метода элемента управления .

Примечание

Методы Find , принимаюющие в string качестве параметра, не могут найти текст, содержащийся в нескольких строках текста в RichTextBox. При выполнении такого поиска возвращается отрицательное значение (-1).

Применяется к

Find(Char[], Int32)

С заданной начальной позиции осуществляет поиск первого экземпляра символа из списка символов по тексту элемента управления RichTextBox.

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

Параметры

characterSet
Char[]

Массив символов для поиска.

start
Int32

Положение в тексте элемента управления, в котором будет начат поиск.

Возвращаемое значение

Положение в элементе управления, в котором были найдены искомые символы.

Примеры

В следующем примере кода выполняется поиск символов, передаваемых RichTextBox в метод в параметре text . Поиск начинается из расположения, указанного RichTextBox параметром startFindMyText метода . Если содержимое текстового массива найдено в , метод возвращает индекс найденного значения; в RichTextBoxпротивном случае возвращается значение -1. В примере требуется, чтобы этот метод помещается в класс класса Form , который содержит RichTextBox элемент управления с именем richTextBox1 и элемент управления с Button именем button1 , подключенный к обработчику Click событий, определенному в примере.

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

Комментарии

Эта версия Find метода выполняет поиск первого экземпляра символа из списка символов, указанных в параметре characterSet , и возвращает расположение символа. Например, передается массив символов, содержащий символ "Q". Если элемент управления содержит текст The Quick Brown Fox, Find метод вернет значение 4. Символ верхнего и нижнего регистра считаются различными значениями в поиске.

Если свойство возвращает отрицательное значение, искомые символы не найдены в содержимом элемента управления . Этот метод можно использовать для поиска группы символов в элементе управления . Если найден символ из списка символов, указанного в параметре метода characterSet , значение, возвращаемое этим методом, представляет собой отсчитываемый от нуля индекс позиции символа в элементе управления . Пробел считается символом методом при определении расположения символа.

Эта версия Find метода позволяет выполнять поиск набора символов из указанной начальной позиции в тексте элемента управления путем указания значения параметра start . Нулевое значение указывает, что поиск должен начинаться с начала документа элемента управления. Эту версию Find метода можно использовать для сужения поиска, чтобы избежать того, чтобы текст, который, как вы уже знаете, не содержит указанных символов, которые вы ищете, или не является важным в поиске.

Применяется к

Find(String, RichTextBoxFinds)

Осуществляет поиск в элементе управления RichTextBox текстовой строки с определенными параметрами, примененными к поиску.

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

Параметры

str
String

Текст, который необходимо найти в элементе управления.

options
RichTextBoxFinds

Поразрядное сочетание значений RichTextBoxFinds.

Возвращаемое значение

Положение в элементе управления, в котором был найден искомый текст.

Примеры

В следующем примере кода выполняется поиск всего содержимого RichTextBox объекта для первого экземпляра строки поиска, передаваемой в текстовый параметр метода . Если строка поиска найдена RichTextBoxв , метод возвращает значение true и выделяет текст; в противном случае возвращается false. В примере также указываются параметры в поиске, соответствующие регистру указанной строки поиска. В примере требуется, чтобы этот метод был помещен в класс объекта Form , который содержит RichTextBox с именем 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

Комментарии

Метод Find выполняет поиск текста, указанного в параметре str , и возвращает расположение первого символа в элементе управления . Если свойство возвращает отрицательное значение, текстовая строка, для которой выполняется поиск, не найдена в содержимом элемента управления . Этот метод можно использовать для создания функций поиска, которые могут быть предоставлены пользователю элемента управления . Этот метод также можно использовать для поиска текста, который необходимо заменить определенным форматом. Например, если пользователь ввел даты в элемент управления, можно использовать Find метод для поиска всех дат в документе и замены их соответствующим форматом перед использованием SaveFile метода элемента управления .

С помощью этой версии Find метода можно указать параметры, позволяющие расширить или сузить область поиска. Вы можете указать параметры, позволяющие сопоставлять регистр слова поиска или искать целые слова, а не частичные слова. Указав перечисление RichTextBoxFinds.Reverse в параметре options , можно искать текст из нижней части документа в начало вместо метода поиска сверху вниз по умолчанию.

Примечание

Методы Find , принимаюющие в string качестве параметра, не могут найти текст, содержащийся в нескольких строках текста в RichTextBox. При выполнении такого поиска возвращается отрицательное значение (-1).

Применяется к

Find(Char[], Int32, Int32)

Осуществляет поиск первого экземпляра символа из списка символов по отрезку текста элемента управления RichTextBox.

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

Параметры

characterSet
Char[]

Массив символов для поиска.

start
Int32

Положение в тексте элемента управления, в котором будет начат поиск.

end
Int32

Положение в тексте элемента управления, на котором поиск будет завершен.

Возвращаемое значение

Положение в элементе управления, в котором были найдены искомые символы.

Исключения

Параметр characterSet имеет значение null.

start меньше 0 или больше длины текста в элементе управления.

Комментарии

Эта версия Find метода выполняет поиск первого экземпляра символа из списка символов, указанных в параметре characterSet , и возвращает расположение символа. Например, передается массив символов, содержащий символ "Q". Если элемент управления содержит текст The Quick Brown Fox, Find метод вернет значение 4. Символ верхнего и нижнего регистра считаются различными значениями в поиске.

Если свойство возвращает отрицательное значение, искомые символы не найдены в содержимом элемента управления . Этот метод можно использовать для поиска группы символов в элементе управления . Если найден символ из списка символов, указанного в параметре метода characterSet , значение, возвращаемое этим методом, представляет собой отсчитываемый от нуля индекс позиции символа в элементе управления . Пробел считается символом методом при определении расположения символа.

Эта версия Find метода позволяет искать набор символов из диапазона текста в элементе управления, указывая значение для start параметров и end . Нулевое значение параметра start указывает, что поиск должен начинаться с начала документа элемента управления. Значение -1 для end параметра указывает, что поиск должен заканчиваться в конце текста в элементе управления . Эту версию Find метода можно использовать для сужения поиска до определенного диапазона текста в элементе управления, чтобы избежать поиска в областях документа, которые не являются важными для вашего приложения.

Применяется к

Find(String, Int32, RichTextBoxFinds)

Осуществляет поиск текстовой строки в определенном месте текста элемента управления RichTextBox с примененными к поиску параметрами.

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

Параметры

str
String

Текст, который необходимо найти в элементе управления.

start
Int32

Положение в тексте элемента управления, в котором будет начат поиск.

options
RichTextBoxFinds

Поразрядное сочетание значений RichTextBoxFinds.

Возвращаемое значение

Положение в элементе управления, в котором был найден искомый текст.

Примеры

В следующем примере кода выполняется поиск всего содержимого RichTextBox объекта для первого экземпляра строки поиска, передаваемой в текстовый параметр метода . Начальная папка поиска определяется параметром start метода . Если строка поиска найдена RichTextBoxв , метод возвращает расположение индекса первого символа найденного текста и выделяет найденный текст; в противном случае возвращает значение -1. В примере также указываются параметры в поиске, соответствующие регистру указанной строки поиска. В примере требуется, чтобы этот метод был помещен в класс объекта Form , который содержит RichTextBox с именем richTextBox1. Этот пример можно использовать для выполнения операции типа "Найти далее". После обнаружения экземпляра текста поиска можно найти другие экземпляры текста, изменив значение start параметра на поиск в расположении за пределами позиции текущего совпадения.

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

Комментарии

Метод Find выполняет поиск текста, указанного в параметре str , и возвращает расположение первого символа строки поиска в элементе управления . Если свойство возвращает отрицательное значение, текстовая строка, для которой выполняется поиск, не найдена в содержимом элемента управления . Этот метод можно использовать для создания функций поиска, которые могут быть предоставлены пользователю элемента управления . Этот метод также можно использовать для поиска текста, который необходимо заменить определенным форматом. Например, если пользователь ввел даты в элемент управления , можно использовать Find метод для поиска всех дат в документе и замены их соответствующим форматом перед использованием SaveFile метода элемента управления .

С помощью этой версии Find метода можно указать параметры, позволяющие расширить или сузить область поиска. Вы можете указать параметры, позволяющие сопоставлять регистр слова поиска или искать целые слова, а не частичные слова. Указав перечисление RichTextBoxFinds.Reverse в параметре options , можно искать текст из нижней части документа в начало вместо метода поиска сверху вниз по умолчанию. Эта версия Find метода также позволяет сузить поиск текста, выбрав определенную начальную позицию в тексте элемента управления. Эта функция позволяет избежать текста, который, возможно, уже был выполнен поиск или где определенный текст, который вы ищете, как известно, не существует. RichTextBoxFinds.Reverse Если значение указано в параметре options , значение start параметра указывает позицию, в которой будет завершен обратный поиск, так как при использовании этой версии метода поиск будет начинаться в нижней части Find документа.

Примечание

Методы Find , принимаюющие в string качестве параметра, не могут найти текст, содержащийся в нескольких строках текста в RichTextBox. При выполнении такого поиска возвращается отрицательное значение (-1).

Применяется к

Find(String, Int32, Int32, RichTextBoxFinds)

Осуществляет поиск текстовой строки в определенном отрезке текста элемента управления RichTextBox с примененными к поиску параметрами.

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

Параметры

str
String

Текст, который необходимо найти в элементе управления.

start
Int32

Положение в тексте элемента управления, в котором будет начат поиск.

end
Int32

Положение в тексте элемента управления, на котором поиск будет завершен. Это значение должно быть равно минус единице (-1) либо больше или равно значению параметра start.

options
RichTextBoxFinds

Поразрядное сочетание значений RichTextBoxFinds.

Возвращаемое значение

Положение в элементе управления, в котором был найден искомый текст.

Исключения

Параметр str имел значение null.

Значение параметра start меньше нуля.

-или-

Параметр end был меньше параметра start.

Примеры

В следующем примере кода выполняется поиск в разделе текста в RichTextBox для первого экземпляра строки поиска, переданной в searchText параметр метода . Диапазон для поиска текста в элементе управления определяется параметрами searchStart и searchEnd метода . Если строка поиска найдена RichTextBoxв , метод возвращает расположение индекса первого символа найденного текста и выделяет найденный текст; в противном случае возвращает значение -1. В примере также используется options параметр Find метода , чтобы указать, что найденный текст должен соответствовать регистру строки поиска. В примере требуется, чтобы этот метод был помещен в класс объекта Form , который содержит элемент управления с RichTextBox именем richTextBox1. После обнаружения первого экземпляра строки поиска можно использовать этот пример для поиска других экземпляров в тексте.

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

Комментарии

Метод Find выполняет поиск текста, указанного в параметре str , и возвращает расположение первого символа строки поиска в элементе управления . Если свойство возвращает отрицательное значение, текстовая строка, для которой выполняется поиск, не найдена в содержимом элемента управления . Этот метод можно использовать для создания функций поиска, которые могут быть предоставлены пользователю элемента управления . Этот метод также можно использовать для поиска текста, который необходимо заменить определенным форматом. Например, если пользователь ввел даты в элемент управления, можно использовать Find метод для поиска всех дат в документе и замены их соответствующим форматом перед использованием SaveFile метода элемента управления .

С помощью этой версии Find метода можно указать параметры, позволяющие расширить или сузить область поиска. Вы можете указать параметры, позволяющие сопоставлять регистр слова поиска или искать целые слова, а не частичные слова. Указав перечисление RichTextBoxFinds.Reverse в параметре options , можно искать текст из нижней части документа в начало вместо метода поиска сверху вниз по умолчанию. Эта версия Find метода также позволяет сузить поиск текста, выбрав определенную начальную и конечную позицию в тексте элемента управления. Эта функция позволяет ограничить диапазон поиска определенным разделом текста элемента управления. Если параметру end присвоено отрицательное значение (-1), метод будет выполнять поиск до конца текста в RichTextBox для обычного поиска. Для обратного поиска значение отрицательного (-1), присвоенное параметру end , указывает, что поиск текста будет выполняться от конца текста (внизу) до позиции, определенной параметром start . При указании start параметров и end одного и того же значения выполняется поиск по всему элементу управления для обычного поиска. При обратном поиске выполняется весь элемент управления, но поиск начинается в нижней части документа и выполняется поиск в верхней части документа.

Примечание

Методы Find , принимаюющие в string качестве параметра, не могут найти текст, содержащийся в нескольких строках текста в RichTextBox. При выполнении такого поиска возвращается отрицательное значение (-1).

Применяется к