首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取KeyPress字符

获取KeyPress字符
EN

Stack Overflow用户
提问于 2011-12-21 19:28:29
回答 2查看 1.7K关注 0票数 1

我只想在WPF RichtTextbox中得到按下的字符。

代码语言:javascript
复制
Private Sub rtb_KeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles rtb.KeyDown
        Dim KeyConverter As New Forms.KeysConverter
        Dim S As String = KeyConverter.ConvertToString(e.Key)

    End Sub

但我只有keyDown事件。在Keydown上,捕捉正确的字符变得非常复杂。大写/小写和像"SHIFT“这样的特殊键是由keydown触发的,我首先需要计算到按下的键。这很复杂。因为WPF在大多数情况下不那么复杂,我会问你是否知道有什么方法可以让键盘上的按键变成字符串或字符?

问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-21 19:55:19

尝试使用PreviewTextInput事件:

代码语言:javascript
复制
public Window7() {
  this.InitializeComponent();
  this.richTextBox.PreviewTextInput += new TextCompositionEventHandler(this.rtb_PreviewTextInput);
}

private void rtb_PreviewTextInput(object sender, TextCompositionEventArgs e) {
  var text = e.Text;
  var systemText = e.SystemText;
  var controlText = e.ControlText;
  var kbm = Keyboard.Modifiers;
}
代码语言:javascript
复制
Private Sub richTextBox_PreviewTextInput(sender As System.Object , e As System.Windows.Input.TextCompositionEventArgs)
    Dim text As String = e.Text
    Dim controlText As String = e.ControlText
    Dim systemText As String = e.SystemText
    Dim keybm As ModifierKeys = Keyboard.Modifiers
End Sub

希望这能有所帮助

票数 2
EN

Stack Overflow用户

发布于 2011-12-21 19:36:58

这里有一个TextInput事件可能会对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8589083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档