0

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

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

我想知道是否有办法在不改变指示器位置的情况下编辑文本,或者有没有办法在TextBox?

我尝试以多种方式编辑文本,但它们都导致指示器回到文本的开头。

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

请帮忙。

4

2 回答 2

2

尝试这个。

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);

希望能帮助到你。

于 2013-07-25T11:15:29.723 回答
1

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

textBox1.Select(5, 0);

只需确保这是在将控制权返回给用户之前发生的最后一件事。Focus如有必要,也许伴随着一个电话。

在您的情况下,您还需要跟踪该位置应该是什么......在添加/修改文本之前?之后呢?换成5那个号码就行了。

于 2013-07-25T11:14:56.517 回答