【发布时间】:2013-08-08 14:43:26
【问题描述】:
我正在使用以下代码提取最后一个字符(刚刚键入的字符),使用以下代码
private string GetTypedChar()
{
string currentChar = "";
int i = rtfText.SelectionStart;
if (i > 0)
{
currentChar = rtfText.Text.Substring(i-1, 1);
MessageBox.Show(i+":"+currentChar);
}
return currentChar;
}
但这给了我错误的结果。如果输入的单词是“RS”,按 R 后消息框显示 1:(空白),然后键入 S 消息框显示 2:R 如何做到这一点?
【问题讨论】:
-
听起来您正在使用的事件是在处理输入之前而不是之后触发。
-
RichTextBox 的KeyDown 事件
-
那么 e.KeyCode 不是最后一个字符(在其写入之前 - 这就是您看不到它的原因)
标签: c# winforms richtextbox