c# - 键盘按键捕获

标签 c# wpf

我正在开发这个应用程序,它需要在应用程序获得焦点时读取每个击键。

除了 3 个键:空格键、Enter 键和退格键,我可以读取所有键。

这是我项目的代码片段:

XAML 文件:

<TextBox Height="108" HorizontalAlignment="Left" Margin="12,12,0,0" Name="textBox1" VerticalAlignment="Top" Width="354" AcceptsReturn="True" AcceptsTab="True" KeyDown="textBox1_KeyDown" IsReadOnly="False" IsEnabled="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />

CS 文件:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return || e.Key == Key.Space)
        MessageBox.Show("" + e.Key);
}

最佳答案

使用 PreviewKeyDown 代替 KeyDown,您就完成了 -

<TextBox Height="108" HorizontalAlignment="Left" Margin="12,12,0,0" Name="textBox1" VerticalAlignment="Top" Width="354" AcceptsReturn="True" AcceptsTab="True" PreviewKeyDown="textBox1_KeyDown" IsReadOnly="False" IsEnabled="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />

关于c# - 键盘按键捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687897/

相关文章:

c# - 在 C# 中将结构实例作为类的成员

c# - 使用多线程与 C# 进行 OCR

wpf - CollectionViewSource 源属性上的集合绑定(bind)

c# - 什么时候在WPF中引发CollectionViewSource.Filter事件?

wpf - 自定义控件依赖属性集合,计算嵌套控件项

wpf - 带有 1 个参数的构造函数太多。行为不可预测

.net - 当图像源有效(不为空)时触发隐藏文本

c# - SLsvcUtil.exe 代理生成的类不继承自 INotifyPropertyChanged

c# - NullReferenceException 与 Nullable DateTime 尽管空检查

c# - 如何检测由现有文件引起的 System.IO.IOException?