8

我想知道如何获取用 TextBox 编写的最新字符。这并不意味着字符串的最后一个。例如,我这样写:

这是一个测试。

但是我忘记了 's',所以我将手指移到了 'i' 上,然后添加了 's':

这是一个测验。

那么,我怎样才能得到's'?

我想得到它的字符或字符串,但我不知道该怎么做......

我希望很清楚。

4

4 回答 4

8

如果要获取最后写入的字符,则将TextBox订阅到KeyDown事件:

C#:

textBox.KeyDown += textBox_KeyDown;

XAML:

<TextBox x:Name="textBox" KeyDown="textBox_KeyDown" />

然后:

private void textBox_KeyDown(object sender, KeyEventArgs e)
{
    /* e.Key contains the keyboard key associated with the event. */
}

如果要获取最后写入字符的索引,那么这个就比较复杂了。解决方案之一可能是在TextBox.

于 2013-02-18T15:07:25.647 回答
4

yBee 的答案几乎是正确的,除了事件被调用KeyDown,而不是KeyPress,至少在 Windows Phone 8 上。

于 2013-02-18T15:14:15.050 回答
0

看看吧,也许有帮助。要获取 Text 的最后一个字符,另一个建议是附加一个

"\n"( nameTextbox.Append("\n"))

然后,使用

int lineCount = nameTextbox.Lines.Count();

最后,使用方法

nameTextbox.GetFirstCharIndexFromLine(lineCount).

在那里,您可能将 (index-1) (或无论如何,小心并用较小的文本对其进行测试)作为最后一个字符的索引。

于 2015-03-11T04:52:12.287 回答
0

使用此代码获取插入文本框中的最后一个字符

 private void Textbox1_KeyDown(object sender, KeyEventArgs e)
            {
                lastchar_inserted = e.KeyValue.ToString(); // global string variable
            }
于 2014-02-04T22:37:26.127 回答