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 параметром start
FindMyText
метода . Если содержимое текстового массива найдено в , метод возвращает индекс найденного значения; в 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).