【问题标题】:Simulate enter press in windows 8.1 store application在 Windows 8.1 商店应用程序中模拟输入按下
【发布时间】:2014-05-07 14:27:26
【问题描述】:

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

所以我在文本框中输入了文本“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(从零开始,所以可以)

我现在输入将单词“one”附加到文本框。所以现在文本现在是'The\r\none'

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

文本现在是 'The\r\none\r\n' 并且 text.length 是 10。

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

textBox.SelectionStart = textBox.Text.Length;

但是 SelectionStart = 8 即使 Text.length=10;

所以现在当我输入另一个字符时,它会在回车之前。例如

textbox.Text 现在等于“The\r\nonez\r\n”。 'z' 是新输入的字符。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    试试这样的

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

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

    【讨论】:

    • 同样的事情发生
    猜你喜欢
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多