如何:控制 Windows 窗体 TextBox 控件中的插入点

更新:2007 年 11 月

当 Windows 窗体 TextBox 控件最初获得焦点时,文本框内的默认插入点在任何现有文本的左侧。用户可以使用键盘或鼠标来移动插入点。如果文本框失去焦点而后又再次获得焦点,则插入点为用户上一次放置的位置。

在某些情况下,此行为可能给用户带来不便。在字处理应用程序中,用户可能希望新字符显示在任何现有文本的后面。在数据输入应用程序中,用户可能希望新字符替换任何现有项。SelectionStartSelectionLength 属性使您可以根据自己的需要来修改此行为。

控制 TextBox 控件中的插入点

  1. SelectionStart 属性设置为适当的值。如果值为零,则插入点紧挨第一个字符的左边。

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

    下面的代码始终将插入点的位置恢复到 0。TextBox1_Enter 事件处理程序必须绑定到该控件。有关更多信息,请参见 在 Windows 窗体中创建事件处理程序

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
       TextBox1.SelectionStart = 0
       TextBox1.SelectionLength = 0
    End Sub
    
    private void textBox1_Enter(Object sender, System.EventArgs e) {
       textBox1.SelectionStart = 0;
       textBox1.SelectionLength = 0;
    }
    
    private void textBox1_Enter(Object sender, System.EventArgs e) 
    {
       textBox1.set_SelectionStart(0);
       textBox1.set_SelectionLength(0);
    }
    
    private:
       void textBox1_Enter(System::Object ^  sender,
          System::EventArgs ^  e)
       {
          textBox1->SelectionStart = 0;
          textBox1->SelectionLength = 0;
       }
    

使插入点默认情况下可见

只有当 TextBox 控件处于 Tab 键顺序中的第一个位置时,TextBox 插入点才默认在新窗体中可见。否则,只有当使用键盘或鼠标使 TextBox 具有焦点时,才会显示插入点。

使文本框插入点在新窗体中默认可见

请参见

任务

如何:使用 Windows 窗体 TextBox 控件创建密码文本框

如何:创建只读文本框(Windows 窗体)

如何:在字符串中放置引号(Windows 窗体)

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

如何:在 Windows 窗体 TextBox 控件中查看多个行

参考

TextBox 控件概述(Windows 窗体)

TextBox

其他资源

TextBox 控件(Windows 窗体)