2011-12-21 7 views
1

私は、WPF RichtTextboxで押された文字を取得したいだけです。KeyPress文字を取得する

しかし、私はkeyDownイベントしか持っていません。キーダウンでは、正しいキャラクターを捉えるのは非常に複雑になります。大文字/小文字と "SHIFT"のような特殊キーはkeydownによって起動されます。まず、押されたキーを計算する必要があります。それは複雑です。 WPFはほとんどの場合複雑ではないので、キーボードで押されたキーを文字列または文字として取得する方法がわかっていますか?

よろしく

答えて

2

PreviewTextInputイベントを使用してみてください:私に新しい

+0

ありがとうございました。また、あなたの答えはC#とVBで:)。 'Keyboard.Modifiers'情報の場合も同様です。 – Nasenbaer

0

ここであなたを助けるかもしれないTextInputイベントがあります。

+0

を助け

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; } 


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 

希望を。しかし、 'TextInput'イベントは起動しません。 http://stackoverflow.com/questions/1374710/wpf-textbox-not-firing-ontextinput-eventが見つかりましたが、TextInputでテキストを取得する方法を知っているのだろうかと思います。 – Nasenbaer

+0

さて、あなたは正しい方法でいた。ご協力いただきありがとうございます。 'PreviewTextInput'はそれを解決しました! – Nasenbaer

関連する問題