如何:控制 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 控件处于 Tab 键顺序中的第一位时,TextBox 插入点才会在新窗体中默认可见。 否则,仅当使用键盘或鼠标向 TextBox 提供焦点时,才会显示插入点。

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

另请参阅