我有一个Windows8.1商店应用程序。在这个应用程序中,我试图模拟按钮单击事件上的enter/return键按下。我要更改的控件是一个XAML多行TextBox。
所以我在文本框中输入了文本' the‘。
然后,我按下我的按钮来模拟回车键。其代码为:
textBox.Text = String.Format("{0}{1}", textBox.Text, Environment.NewLine);因此,文本现在是' the \r\n‘。
我现在将选择开始设置为结束。所以:
textBox.SelectionStart = textBox.Text.Length;在这一点上,SelectionStart现在是4,textbox.Text.Length是5(从零开始,所以OK)
我现在输入将单词'one‘追加到文本框中。因此,现在then文本现在是'The\r\none‘
现在,我使用我的按钮再次模拟enter键。
文本现在是' The \r\none\r\n‘,text.length是10。
我现在尝试使用与上面相同的代码来设置selectionStart位置:
textBox.SelectionStart = textBox.Text.Length;然而,即使Text.length=10,SelectionStart =8;
现在,当我输入另一个字符时,它会转到回车符之前。例如:
textbox.Text现在等于'The\r\nonez\r\n‘。“z”是新输入的字符。
有人知道为什么会这样吗?
谢谢
发布于 2014-05-07 22:35:04
试试这样的东西
textBox.Select(textBox.Text.Length, 0);来源:http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx
https://stackoverflow.com/questions/23520574
复制相似问题