如何:在 Windows 窗体 TextBox 控件中选择文本

可以通过编程在 Windows 窗体 TextBox 控件中选择文本。 例如,如果创建搜索特定字符串文本的函数,则可以选择文本,以直观地提醒找到字符串的位置的读取者。

以编程方式选择文本

  1. SelectionStart 属性设置为要选择的文本的开头。

    SelectionStart 属性是一个数字,指示文本字符串中的插入点,0 是最左侧的位置。 如果将 SelectionStart 属性设置为等于或大于文本框中字符数的值,则插入点将放在最后一个字符之后。

  2. SelectionLength 属性设置为要选择的文本的长度。

    SelectionLength 属性是一个数值,用于设置插入点的宽度。 将 SelectionLength 设置为大于 0 的数字会导致从当前插入点开始选择该数量的字符。

  3. (可选)通过 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;
       }
    }
    

另请参阅