如何在 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 时,插入点才会显示。

要在新表单中默认显示文本框的插入点

另请参阅