Share via


RichTextBox.Find Método

Definição

Pesquisa texto no conteúdo do RichTextBox.

Sobrecargas

Find(Char[])

Pesquisa o texto de um RichTextBox controle para a primeira instância de um caractere em uma lista de caracteres.

Find(String)

Pesquisa uma cadeia de caracteres no texto em um controle RichTextBox.

Find(Char[], Int32)

Pesquisa em um ponto inicial específico, a primeira instância de um caractere em uma lista de caracteres no texto de um controle RichTextBox.

Find(String, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres com opções específicas aplicadas à pesquisa.

Find(Char[], Int32, Int32)

Pesquisa o intervalo de texto em um controle RichTextBox para a primeira instância de um caractere em uma lista de caracteres.

Find(String, Int32, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres em um local específico dentro do controle e com opções específicas aplicadas à pesquisa.

Find(String, Int32, Int32, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres no controle e com opções específicas aplicadas à pesquisa.

Find(Char[])

Pesquisa o texto de um RichTextBox controle para a primeira instância de um caractere em uma lista de caracteres.

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

Parâmetros

characterSet
Char[]

A matriz de caracteres a ser pesquisada.

Retornos

O local no controle, em que os caracteres da pesquisa foram encontrados ou -1 se os caracteres da pesquisa não foram encontrados ou se um conjunto de caracteres de pesquisa vazio foi especificado no parâmetro char.

Exemplos

O exemplo de código a seguir pesquisa o conteúdo de um RichTextBox para os caracteres que são passados para o método no text parâmetro . Se o conteúdo da text matriz for encontrado no RichTextBox, o método retornará o índice do valor encontrado; caso contrário, retornará -1. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox controle chamado richTextBox1 e um Button controle, chamado button1, que está conectado ao Click manipulador de eventos definido no exemplo.

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

Comentários

Esta versão do Find método pesquisa a primeira instância de um caractere de uma lista de caracteres especificada no characterSet parâmetro e retorna o local do caractere. Por exemplo, você passa uma matriz de caracteres que contém o caractere 'Q'. Se o controle contivesse o texto "The Quick Brown Fox", o Find método retornaria o valor de quatro. Um caractere maiúsculo e um caractere de maiúsculas e minúsculas são considerados valores diferentes na pesquisa.

Se a propriedade retornar um valor negativo, os caracteres que estão sendo pesquisados não serão encontrados no conteúdo do controle. Você pode usar esse método para pesquisar um grupo de caracteres dentro do controle . Esta versão do Find método exige que todo o documento contido no controle seja pesquisado para os caracteres. Se um caractere da lista de caracteres fornecido no parâmetro do characterSet método for encontrado, o valor retornado por esse método será um índice baseado em zero da posição do caractere no controle . Um espaço é considerado um caractere pelo método ao determinar o local de um caractere.

Aplica-se a

Find(String)

Pesquisa uma cadeia de caracteres no texto em um controle 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

Parâmetros

str
String

O texto a ser localizado no controle.

Retornos

O local no controle, em que o texto da pesquisa foi encontrado ou -1 se o texto da pesquisa não foi encontrado ou se uma cadeia de caracteres vazia foi especificada no parâmetro str.

Exemplos

O exemplo de código a seguir pesquisa todo o conteúdo de um RichTextBox para a primeira instância de uma cadeia de caracteres de pesquisa passada para o parâmetro de texto do método . Se a cadeia de caracteres de pesquisa for encontrada no RichTextBox, o método retornará um valor de true e realçará o texto da pesquisa, caso contrário, retornará false. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox chamado 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

Comentários

O Find método pesquisa o texto especificado no str parâmetro e retorna o local do primeiro caractere dentro do controle. Se a propriedade retornar um valor negativo, a cadeia de caracteres de texto que está sendo pesquisada não foi encontrada no conteúdo do controle. Você pode usar esse método para criar a funcionalidade de pesquisa que pode ser fornecida ao usuário do controle. Você também pode usar esse método para pesquisar texto a ser substituído por um formato específico. Por exemplo, se o usuário inserir datas no controle, você poderá usar o Find método para pesquisar todas as datas no documento e substituí-las pelo formato apropriado antes de usar o SaveFile método do controle.

Observação

Os Find métodos que aceitam um string como parâmetro não podem encontrar texto contido em mais de uma linha de texto dentro do RichTextBox. A execução dessa pesquisa retornará um valor negativo (-1).

Aplica-se a

Find(Char[], Int32)

Pesquisa em um ponto inicial específico, a primeira instância de um caractere em uma lista de caracteres no texto de um controle 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

Parâmetros

characterSet
Char[]

A matriz de caracteres a ser pesquisada.

start
Int32

O local dentro do texto do controle no qual iniciar a pesquisa.

Retornos

O local no controle em que os caracteres de pesquisa foram encontrados.

Exemplos

O exemplo de código a seguir pesquisa o conteúdo de um RichTextBox para os caracteres que são passados para o método no text parâmetro . A pesquisa começa a partir do local dentro do RichTextBox especificado pelo start parâmetro do FindMyText método . Se o conteúdo da matriz de texto for encontrado no RichTextBox, o método retornará o índice do valor encontrado; caso contrário, retornará -1. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox controle chamado richTextBox1 e um Button controle chamado button1 que está conectado ao Click manipulador de eventos definido no exemplo.

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

Comentários

Esta versão do Find método pesquisa a primeira instância de um caractere de uma lista de caracteres especificada no characterSet parâmetro e retorna o local do caractere. Por exemplo, você passa uma matriz de caracteres que contém o caractere 'Q'. Se o controle contivesse o texto "The Quick Brown Fox", o Find método retornaria o valor de quatro. Um caractere maiúsculo e um caractere de maiúsculas e minúsculas são considerados valores diferentes na pesquisa.

Se a propriedade retornar um valor negativo, os caracteres que estão sendo pesquisados não serão encontrados no conteúdo do controle. Você pode usar esse método para pesquisar um grupo de caracteres dentro do controle . Se um caractere da lista de caracteres fornecido no parâmetro do characterSet método for encontrado, o valor retornado por esse método será um índice baseado em zero da posição do caractere no controle . Um espaço é considerado um caractere pelo método ao determinar o local de um caractere.

Esta versão do Find método permite que você pesquise um conjunto de caracteres de uma posição inicial especificada dentro do texto do controle especificando um valor para o start parâmetro . Um valor zero indica que a pesquisa deve começar desde o início do documento do controle. Você pode usar essa versão do Find método para restringir sua pesquisa para evitar texto que você já sabe que não contém os caracteres especificados que você está procurando ou não são importantes em sua pesquisa.

Aplica-se a

Find(String, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres com opções específicas aplicadas à pesquisa.

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

Parâmetros

str
String

O texto a ser localizado no controle.

options
RichTextBoxFinds

Uma combinação bit a bit dos valores RichTextBoxFinds.

Retornos

O local no controle em que o texto de pesquisa foi encontrado.

Exemplos

O exemplo de código a seguir pesquisa todo o conteúdo de um RichTextBox para a primeira instância de uma cadeia de caracteres de pesquisa passada para o parâmetro de texto do método . Se a cadeia de caracteres de pesquisa for encontrada no RichTextBox, o método retornará um valor de true e realçará o texto; caso contrário, retornará false. O exemplo também especifica opções na pesquisa para corresponder ao caso da cadeia de caracteres de pesquisa especificada. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox chamado 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

Comentários

O Find método pesquisa o texto especificado no str parâmetro e retorna o local do primeiro caractere dentro do controle. Se a propriedade retornar um valor negativo, a cadeia de caracteres de texto que está sendo pesquisada não foi encontrada no conteúdo do controle. Você pode usar esse método para criar a funcionalidade de pesquisa que pode ser fornecida ao usuário do controle. Você também pode usar esse método para pesquisar texto a ser substituído por um formato específico. Por exemplo, se o usuário inseriu datas no controle, você poderá usar o Find método para pesquisar todas as datas no documento e substituí-las pelo formato apropriado antes de usar o SaveFile método do controle.

Com essa versão do Find método, você pode especificar opções que permitem expandir ou restringir sua pesquisa. Você pode especificar opções que permitem que você corresponda ao uso de maiúsculas e minúsculas da palavra de pesquisa ou pesquise palavras inteiras em vez de palavras parciais. Ao especificar a RichTextBoxFinds.Reverse enumeração no options parâmetro , você pode pesquisar texto da parte inferior do documento até a parte superior, em vez do método de pesquisa padrão de cima para baixo.

Observação

Os Find métodos que aceitam um string como parâmetro não podem encontrar texto contido em mais de uma linha de texto dentro do RichTextBox. A execução dessa pesquisa retornará um valor negativo (-1).

Aplica-se a

Find(Char[], Int32, Int32)

Pesquisa o intervalo de texto em um controle RichTextBox para a primeira instância de um caractere em uma lista de caracteres.

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

Parâmetros

characterSet
Char[]

A matriz de caracteres a ser pesquisada.

start
Int32

O local dentro do texto do controle no qual iniciar a pesquisa.

end
Int32

A localização no texto do controle no qual a pesquisa será finalizada.

Retornos

O local no controle em que os caracteres de pesquisa foram encontrados.

Exceções

characterSet é nulo.

start é menor que 0 ou maior que o tamanho do texto no controle.

Comentários

Esta versão do Find método pesquisa a primeira instância de um caractere de uma lista de caracteres especificada no characterSet parâmetro e retorna o local do caractere. Por exemplo, você passa uma matriz de caracteres que contém o caractere 'Q'. Se o controle contivesse o texto "The Quick Brown Fox", o Find método retornaria o valor de quatro. Um caractere maiúsculo e um caractere de maiúsculas e minúsculas são considerados valores diferentes na pesquisa.

Se a propriedade retornar um valor negativo, os caracteres que estão sendo pesquisados não serão encontrados no conteúdo do controle. Você pode usar esse método para pesquisar um grupo de caracteres dentro do controle . Se um caractere da lista de caracteres fornecido no parâmetro do characterSet método for encontrado, o valor retornado por esse método será um índice baseado em zero da posição do caractere no controle. Um espaço é considerado um caractere pelo método ao determinar o local de um caractere.

Essa versão do Find método permite que você pesquise um conjunto de caracteres de um intervalo de texto no controle especificando um valor para os start parâmetros e end . Um valor zero para o start parâmetro indica que a pesquisa deve começar desde o início do documento do controle. Um valor -1 para o end parâmetro indica que a pesquisa deve terminar no final do texto dentro do controle . Você pode usar essa versão do Find método para restringir sua pesquisa a um intervalo específico de texto dentro do controle para evitar pesquisar áreas do documento que não são importantes para as necessidades do seu aplicativo.

Aplica-se a

Find(String, Int32, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres em um local específico dentro do controle e com opções específicas aplicadas à pesquisa.

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

Parâmetros

str
String

O texto a ser localizado no controle.

start
Int32

O local dentro do texto do controle no qual iniciar a pesquisa.

options
RichTextBoxFinds

Uma combinação bit a bit dos valores RichTextBoxFinds.

Retornos

O local no controle em que o texto de pesquisa foi encontrado.

Exemplos

O exemplo de código a seguir pesquisa todo o conteúdo de um RichTextBox para a primeira instância de uma cadeia de caracteres de pesquisa passada para o parâmetro text do método . O local inicial da pesquisa é especificado pelo parâmetro start do método . Se a cadeia de caracteres de pesquisa for encontrada no RichTextBox, o método retornará o local do índice do primeiro caractere do texto encontrado e realçará o texto encontrado; caso contrário, retornará um valor de -1. O exemplo também especifica opções na pesquisa para corresponder ao caso da cadeia de caracteres de pesquisa especificada. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox chamado richTextBox1. Você pode usar este exemplo para executar um tipo de operação "Localizar Próximo". Depois que uma instância do texto de pesquisa for encontrada, você poderá encontrar outras instâncias do texto alterando o valor do start parâmetro para pesquisar em um local além da posição da correspondência atual.

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

Comentários

O Find método pesquisa o texto especificado no str parâmetro e retorna o local do primeiro caractere da cadeia de caracteres de pesquisa dentro do controle . Se a propriedade retornar um valor negativo, a cadeia de caracteres de texto que está sendo pesquisada não foi encontrada dentro do conteúdo do controle. Você pode usar esse método para criar a funcionalidade de pesquisa que pode ser fornecida ao usuário do controle. Você também pode usar esse método para pesquisar o texto a ser substituído por um formato específico. Por exemplo, se o usuário inseriu datas no controle, você pode usar o Find método para pesquisar todas as datas no documento e substituí-las pelo formato apropriado antes de usar o SaveFile método do controle.

Com essa versão do Find método, você pode especificar opções que permitem expandir ou restringir sua pesquisa. Você pode especificar opções que permitem que você corresponda ao uso de maiúsculas e minúsculas da palavra de pesquisa ou pesquise palavras inteiras em vez de palavras parciais. Ao especificar a RichTextBoxFinds.Reverse enumeração no options parâmetro , você pode pesquisar texto da parte inferior do documento até a parte superior, em vez do método de pesquisa padrão de cima para baixo. Essa versão do Find método também permite restringir a pesquisa de texto selecionando uma posição inicial específica dentro do texto do controle. Esse recurso pode permitir que você evite textos que podem já ter sido pesquisados ou onde o texto específico que você está procurando não exista. Quando o RichTextBoxFinds.Reverse valor é especificado no options parâmetro , o valor do start parâmetro indica a posição em que a pesquisa inversa terminará, pois a pesquisa começará na parte inferior do documento ao usar essa versão do Find método.

Observação

Os Find métodos que aceitam um string como parâmetro não podem localizar o texto contido em mais de uma linha de texto dentro do RichTextBox. A execução dessa pesquisa retornará um valor de negativo (-1).

Aplica-se a

Find(String, Int32, Int32, RichTextBoxFinds)

Pesquisa o texto em um controle RichTextBox para uma cadeia de caracteres no controle e com opções específicas aplicadas à pesquisa.

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

Parâmetros

str
String

O texto a ser localizado no controle.

start
Int32

O local dentro do texto do controle no qual iniciar a pesquisa.

end
Int32

A localização no texto do controle no qual a pesquisa será finalizada. Esse valor deve ser igual a um negativo (-1) ou maior que ou igual ao parâmetro start.

options
RichTextBoxFinds

Uma combinação bit a bit dos valores RichTextBoxFinds.

Retornos

O local no controle em que o texto de pesquisa foi encontrado.

Exceções

O parâmetro str era null.

O parâmetro start era menor que zero.

- ou -

O parâmetro end era menor que o start.

Exemplos

O exemplo de código a seguir pesquisa uma seção de texto em um RichTextBox para a primeira instância de uma cadeia de caracteres de pesquisa passada para o searchText parâmetro do método . O intervalo para pesquisar texto dentro do controle é especificado pelos searchStart parâmetros e searchEnd do método . Se a cadeia de caracteres de pesquisa for encontrada no RichTextBox, o método retornará o local do índice do primeiro caractere do texto encontrado e realçará o texto encontrado; caso contrário, retornará um valor de -1. O exemplo também usa o options parâmetro do Find método para especificar que o texto encontrado deve corresponder ao caso da cadeia de caracteres de pesquisa. O exemplo requer que esse método seja colocado na classe de um Form que contém um RichTextBox controle chamado richTextBox1. Depois que a primeira instância da cadeia de caracteres de pesquisa for encontrada, você poderá usar este exemplo para localizar outras instâncias no texto.

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

Comentários

O Find método pesquisa o texto especificado no str parâmetro e retorna o local do primeiro caractere da cadeia de caracteres de pesquisa dentro do controle . Se a propriedade retornar um valor negativo, a cadeia de caracteres de texto que está sendo pesquisada não foi encontrada dentro do conteúdo do controle. Você pode usar esse método para criar a funcionalidade de pesquisa que pode ser fornecida ao usuário do controle. Você também pode usar esse método para pesquisar o texto a ser substituído por um formato específico. Por exemplo, se o usuário inseriu datas no controle, você pode usar o Find método para pesquisar todas as datas no documento e substituí-las pelo formato apropriado antes de usar o SaveFile método do controle.

Com essa versão do Find método, você pode especificar opções que permitem expandir ou restringir sua pesquisa. Você pode especificar opções que permitem que você corresponda ao uso de maiúsculas e minúsculas da palavra de pesquisa ou pesquise palavras inteiras em vez de palavras parciais. Ao especificar a RichTextBoxFinds.Reverse enumeração no options parâmetro , você pode pesquisar texto da parte inferior do documento até a parte superior, em vez do método de pesquisa padrão de cima para baixo. Essa versão do Find método também permite restringir a pesquisa de texto selecionando uma posição de início e término específica dentro do texto do controle. Esse recurso pode permitir que você limite o intervalo de pesquisa a uma seção específica do texto do controle. Se um valor de negativo (-1) for atribuído ao end parâmetro , o método pesquisará até o final do texto no RichTextBox para pesquisas normais. Para pesquisas inversas, um valor de negativo (-1) atribuído ao parâmetro indica que o end texto será pesquisado do final do texto (inferior) para a posição definida pelo start parâmetro . Quando os start parâmetros e end são fornecidos o mesmo valor, todo o controle é pesquisado para pesquisas normais. Para uma pesquisa inversa, todo o controle é pesquisado, mas a pesquisa começa na parte inferior do documento e pesquisa na parte superior do documento.

Observação

Os Find métodos que aceitam um string como parâmetro não podem localizar o texto contido em mais de uma linha de texto dentro do RichTextBox. A execução dessa pesquisa retornará um valor de negativo (-1).

Aplica-se a