在Windows 8.1商店应用程序中模拟输入

时间:2014-05-07 14:27:27

标签: c# windows-store-apps windows-8.1 multiline

我有一个Windows 8.1商店应用程序。在这个应用程序中,我试图模拟按钮单击事件上的输入/返回键按下。我正在更改的控件是XAML多行文本框。

所以我在文本框中输入文本'The'。

然后我按下我的按钮来模拟输入点击。代码是:

textBox.Text = String.Format("{0}{1}", textBox.Text, Environment.NewLine);

所以文字现在是'\ r \ n'。

我现在将选择开始设置为结束。这样:

textBox.SelectionStart = textBox.Text.Length;

此时SelectionStart现在为4,textbox.Text.Length为5(零基础,所以OK)

我现在输入在文本框中附加单词'one'。所以现在文本现在是'\ r \ n无'

我现在使用我的按钮再次模拟回车键。

文本现在为'\ r \ _无\ r \ n',text.length为10。

我现在尝试使用与上面相同的代码设置selectionStart位置:

textBox.SelectionStart = textBox.Text.Length;

然而,即使Text.length = 10;

,SelectionStart = 8

所以现在当我输入另一个角色时,它会在回车之前进入。 e.g。

textbox.Text现在等于'\ r \ _noz \ r \ n'。 'z'是新输入的角色。

有人知道为什么会这样吗?

由于

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

textBox.Select(textBox.Text.Length, 0);

资料来源: http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx