Получить KeyPress персонаж - PullRequest
       0

Получить KeyPress персонаж

1 голос
/ 21 декабря 2011

Я просто хочу получить нажатый символ в WPF RichtTextbox.

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.На Кейдауне становится очень сложно поймать правильного персонажа.Прописные / строчные буквы и специальные клавиши, такие как «SHIFT», запускаются нажатием клавиши, мне сначала нужно рассчитать до нажатой клавиши.Это сложно.Поскольку WPF в большинстве случаев менее сложен, я спрошу, знаете ли вы какой-нибудь способ получить нажатую клавишу на клавиатуре в виде строки или символа?

С уважением

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Попробуйте использовать событие PreviewTextInput:

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

надеюсь, что поможет

0 голосов
/ 21 декабря 2011

Здесь есть событие TextInput, которое может вам помочь.

...