.net 获取按键字符
我只想在WPF RichtTextbox中获取已按下的字符.net 获取按键字符,.net,wpf,richtextbox,.net,Wpf,Richtextbox,我只想在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)
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
但我只有按键事件。在按下键时,捕捉正确的角色变得非常复杂。大写/小写和特殊键(如“SHIFT”)由keydown触发,我首先需要计算到按下的键。这很复杂。
因为WPF在大多数情况下不太复杂,所以我会问您是否知道将键盘上的按键转换为字符串或字符的方法
关于这里有一个事件可能会对您有所帮助。尝试使用
预览退出
事件:
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;
}
希望这对我有帮助。但是
TextInput
事件不会触发。我找到了,但我想知道你是否知道如何用TextInput获取文本。好的,你走对了。谢谢你的帮助。previewtextput
解决了它!谢谢。还有你用C#和VB的答案:)。同样适用于键盘。修改器信息。
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