C# Forms TextBox 选择带有插入符号位置的文本

标签 c# forms textbox selection caret

我不知道是否可以通过编程方式选择 TextBox 中的文本并设置插入符位置?它始终将插入符号位置设置为选择的末尾:

我可以在选择开始时获得插入符号吗? (还有其他地方吗?)

最佳答案

确实可以实现此目的,但是只有当 TextBox 控件获得焦点时,文本选择才会可见

我能想到的为您的特定应用程序实现的最佳方法是创建一个简单的方法,如下所示:

private void SetTextSelection(TextBox textBox, int start, int length)
{
    textBox.Select(start, length);
    textBox.Focus();
}

然后,您可以使用如下语句通过一行设置 TextBox 的选择:

SetTextSelection(textBox, 3, 4);

其中 textBox 是文本框控件的实例,3 是所选内容中第一个字符的从零开始的起始索引4 是所选内容的长度

正长度将从左到右的方向选择。请记住,您还可以指定负长度,并且选择将“向后”,就像您使用鼠标选择文本并从右向左拖动一样。

关于C# Forms TextBox 选择带有插入符号位置的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34717669/

相关文章:

c# - 通用对象池

c# - 在没有帮助程序类的情况下从流中读取和写入字符串

c# - 是否可以将表单控件放在自己的线程上?

javascript - jQuery iframe 模式关闭表单提交

forms - 输入按钮作为 SUBMIT

c# - 延迟对象的收集

javascript - 如何将 id 或 class 添加到 Drupal 中的表单元素?

Javascript 文本框按键事件

c# - 使用 Agility Pack 设置外部加载网页的文本框内部文本

c# - 在运行时创建控件