如何:在 Windows 窗体 TextBox 控件中选择文本
可以在 Windows 窗体 TextBox 控件中以编程方式选择文本。 例如,如果创建一个在文本中搜索特定字符串的函数,则可以选择文本以直观地提示读者找到的字符串的位置。
以编程方式选择文本
将 SelectionStart 属性设置为要选择的文本的开头。
SelectionStart 属性是一个数字,指示文本字符串中的插入点,0 是最左侧的位置。 如果 SelectionStart 属性设置的值等于或大于文本框中的字符数,则插入点位于最后一个字符之后。
将 SelectionLength 属性设置为要选择的文本的长度。
SelectionLength 属性是设置插入点宽度的数值。 将 SelectionLength 设置为大于 0 的数字会导致从当前插入点开始选择该数量的字符。
(可选)通过 SelectedText 属性访问所选文本。
下面的代码在控件的 Enter 事件发生时选择文本框的内容。 此示例检查文本框的 Text 属性值是否不为
null
或空字符串。 当文本框接收到焦点时,将选中文本框中的当前文本。TextBox1_Enter
事件处理程序必须绑定到控件;有关详细信息,请参阅如何:在运行时为 Windows 窗体创建事件处理程序。若要测试此示例,请按 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; } }