我想知道如何获取用 TextBox 编写的最新字符。这并不意味着字符串的最后一个。例如,我这样写:
这是一个测试。
但是我忘记了 's',所以我将手指移到了 'i' 上,然后添加了 's':
这是一个测验。
那么,我怎样才能得到's'?
我想得到它的字符或字符串,但我不知道该怎么做......
我希望很清楚。
我想知道如何获取用 TextBox 编写的最新字符。这并不意味着字符串的最后一个。例如,我这样写:
这是一个测试。
但是我忘记了 's',所以我将手指移到了 'i' 上,然后添加了 's':
这是一个测验。
那么,我怎样才能得到's'?
我想得到它的字符或字符串,但我不知道该怎么做......
我希望很清楚。
如果要获取最后写入的字符,则将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
.
yBee 的答案几乎是正确的,除了事件被调用KeyDown
,而不是KeyPress
,至少在 Windows Phone 8 上。
看看吧,也许有帮助。要获取 Text 的最后一个字符,另一个建议是附加一个
"\n"
( nameTextbox.Append("\n")
)
然后,使用
int lineCount = nameTextbox.Lines.Count();
最后,使用方法
nameTextbox.GetFirstCharIndexFromLine(lineCount)
.
在那里,您可能将 (index-1) (或无论如何,小心并用较小的文本对其进行测试)作为最后一个字符的索引。
使用此代码获取插入文本框中的最后一个字符
private void Textbox1_KeyDown(object sender, KeyEventArgs e)
{
lastchar_inserted = e.KeyValue.ToString(); // global string variable
}