将光标设置在文本框的任何文本的末尾

时间:2013-12-06 11:52:43

标签: c# wpf textbox cursor-position

我有一个文本框,其中已经显示了一个字符串。 将光标移到我正在做的文本框

txtbox.Focus();

但是如何将光标放在文本框中字符串的末尾?

4 个答案:

答案 0 :(得分:96)

对于Windows窗体,您可以使用txtbox.SelectionStarttxtbox.SelectionLength属性控制光标位置(和选择)。如果您想将插入符号设置为结束,请尝试以下操作:

txtbox.SelectionStart = txtbox.Text.Length;
txtbox.SelectionLength = 0;

对于WPF,请参阅this question

答案 1 :(得分:63)

有多种选择:

txtBox.Focus();
txtBox.SelectionStart = txtBox.Text.Length;

OR

txtBox.Focus();
txtBox.CaretIndex = txtBox.Text.Length;

OR

txtBox.Focus();
txtBox.Select(txtBox.Text.Length, 0);

答案 2 :(得分:9)

您可以使用TextBox.CaretIndex设置插入位置。如果你唯一需要的是将光标设置在末尾,你可以简单地传递字符串的长度,例如:

txtBox.CaretIndex=txtBox.Text.Length;

您需要将插入符号索引设置为长度,而不是长度为1,因为这会将插入符号放在最后一个字符之前。

答案 3 :(得分:1)

尝试如下......它会帮助你......

窗口表单Focus()中的某些时间无效。因此,您可以使用Select()来关注文本框。

txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox