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

当 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(System::Object ^  sender,
          System::EventArgs ^  e)
       {
          textBox1->SelectionStart = 0;
          textBox1->SelectionLength = 0;
       }
    

默认情况下,使插入点可见

TextBox 插入点在新窗体中仅在 TextBox 控件位于标签顺序中的第一个时才会显示。 否则,仅当通过键盘或鼠标将 TextBox 设为焦点时,才会显示插入点。

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

另请参阅