Практическое руководство. Выделение текста в элементе управления TextBox в Windows Forms
Текст можно выделить программным способом в элементе управления TextBox Windows Forms. Например, если вы создаете функцию, которая ищет текст для определенной строки, можно выделить текст, чтобы визуально оповещать читателя о позиции найденной строки.
Выделение текста программными средствами
Задайте для свойства SelectionStart начало текста, который требуется выделить.
Свойство SelectionStart — это число, указывающее точку вставки в строке текста, где 0 — крайняя левая позиция. Если свойству SelectionStart присвоено значение не менее числа символов в текстовом поле, точка вставки помещается после последнего символа.
Задайте для свойства SelectionLength длину текста, который требуется выделить.
Свойство SelectionLength является числовым значением, которое задает ширину точки вставки. Если задать число SelectionLength больше 0, будет выбрано это количество символов начиная с текущей точки вставки.
(Необязательно) Получите доступ к выделенному тексту через свойство SelectedText.
Приведенный ниже код выбирает содержимое текстового поля при возникновении события Enter элемента управления. В этом примере проверяется, имеет ли текстовое поле значение свойства Text, которое не является
null
или пустой строкой. Когда текстовое поле получает фокус, выбирается текущий текст в текстовом поле. Обработчик событийTextBox1_Enter
должен быть привязан к элементу управления. Дополнительные сведения см. в разделе Создание обработчиков событий во время выполнения в Windows Forms.Чтобы протестировать этот пример, нажимайте клавишу TAB, пока фокус не перейдет на текстовое поле. Если щелкнуть текстовое поле, с текста будет снято выделение.
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter If (Not String.IsNullOrEmpty(TextBox1.Text)) Then TextBox1.SelectionStart = 0 TextBox1.SelectionLength = TextBox1.Text.Length End If End Sub
private void textBox1_Enter(object sender, System.EventArgs e){ if (!String.IsNullOrEmpty(textBox1.Text)) { textBox1.SelectionStart = 0; textBox1.SelectionLength = textBox1.Text.Length; } }
private: void textBox1_Enter(System::Object ^ sender, System::EventArgs ^ e) { if (!System::String::IsNullOrEmpty(textBox1->Text)) { textBox1->SelectionStart = 0; textBox1->SelectionLength = textBox1->Text->Length; } }
См. также
- TextBox
- Общие сведения об элементе управления TextBox
- Практическое руководство. Управление положением курсора в элементе управления TextBox в Windows Forms
- Практическое руководство. Создание текстового поля для ввода пароля с помощью элемента управления TextBox в Windows Forms
- Практическое руководство. Создание текстового поля только для чтения
- Практическое руководство. Добавление кавычек в строку
- Практическое руководство. Многострочные элементы управления TextBox в Windows Forms
- Элемент управления TextBox
.NET Desktop feedback