WPF,如何在RichTextBox中检测空格键

时间:2013-10-28 20:52:12

标签: c# wpf visual-studio-2010

在WPF中,我有一个内部包含流文档的RichTextBox。我需要知道用户何时按空格键。下面的代码工作,并在每次按下某个键时显示消息框,但不显示空格键。如果你按F例如显示带有F的消息框但是当按下空格时,插入符号移动到下一个位置。

private void RichTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
            {
                MessageBox.Show(e.Text);
            }

我在这里缺少什么? 谢谢你的时间:))

1 个答案:

答案 0 :(得分:1)

您可以通过处理PreviewKeyDownPreviewKeyUp事件来检测空格字符:

private void PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Space) 
    {
        // The user pressed the space bar
    }
}

至于PreviewTextInput事件忽略空格字符的原因,你可以在Why does PreviewTextInput not handle spaces?帖子和那里找到的链接中找到一些有趣的信息。