在textBox中查找并设置指示器的位置

本文关键字:指示器 位置 设置 textBox 查找 | 更新日期: 2023-09-27 18:24:57

我有一个带有TextBox的程序,当我得到空间输入时,我需要编辑文本。

所以我这样做了,但随后指示器返回到文本的开头,这不是一个好的MMI。

我想知道是否有一种方法可以在不更改指示器位置的情况下编辑文本,或者有没有一种方法在TextBox中设置指示器位置?

我试过用几种方式编辑文本,但它们都会导致指示器回到文本的开头。

我找不到影响指示器位置的方法,所以我猜这是不可能的,但我可能错了。

请帮忙。

在textBox中查找并设置指示器的位置

试试这个。

int startPosition = textBox1.SelectionStart;
int selectionLength = textBox1.SelectionLength;
//do what ever you need
textBox1.Text = textBox1.Text.ToUpper();
//place cursor back in position
textBox1.Select(startPosition, selectionLength);

希望能有所帮助。

尝试设置选择。这会将光标设置到第5个位置,但不选择任何内容:

textBox1.Select(5, 0);

只要确保这是在将控制权返回给用户之前发生的最后一件事。如有必要,可拨打Focus

在您的情况下,在添加/修改文本之前,您还需要跟踪该位置应该是什么?之后?只需将5替换为该编号即可。