c# - 如何检测 WPF 中的按键?
问题描述
我在 WPF 中编写了一个带有几个按钮的桌面应用程序。到目前为止它有效,但现在我想将按钮链接到键。我希望程序检测是否按下按钮,然后执行 Button_click 方法。我试图通过添加这个方法来实现这一点
public void Window1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
switch (e.Key)
{
case Key.D0:
Button0_Click(new object(), new RoutedEventArgs());
break;
case Key.D1:
Button1_Click(new object(), new RoutedEventArgs());
break;
case Key.D2:
Button2_Click(new object(), new RoutedEventArgs());
break;
case Key.D3:
Button2_Click(new object(), new RoutedEventArgs());
break;
case Key.D4:
Button4_Click(new object(), new RoutedEventArgs());
break;
}
}
但它根本没有用。如何将定义的按钮方法链接到键?
解决方案
您需要实施key event handler
例如关键Enter
请参阅此处的 Microsoft 文档
XAML 代码
<StackPanel>
<TextBlock Width="300" Height="20">
Type some text into the TextBox and press the Enter key.
</TextBlock>
<TextBox Width="300" Height="30" Name="textBox1"
KeyDown="OnKeyDownHandler"/>
<TextBlock Width="300" Height="100" Name="textBlock1"/>
</StackPanel>
后端的关键事件处理程序
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
//do your things here
}
}
推荐阅读
- nuget - Artifactory 本地 nuget 存储库产生 MethodNotAllowed 错误
- r - R 用更有效的方式替换嵌套循环来遍历 2 个数据帧
- oop - 为什么我的无状态小部件不能正确使用来自提供者的数据?
- javascript - 如何使用 ReactJS 获取用户输入字段的值?
- matlab - 尝试使用 Maclaurin 系列使用持久函数估计正弦
- c++ - 如何在 C++ 中填充和取消填充 std::string?
- python - 使用海龟导入对角线打印形状
- javascript - 在两个 div 中的锚点中包装内容(包括文本节点)
- python - 为什么将变量与 0.0 进行比较会返回 false?
- javascript - 我怎样才能使它显示菜单上的所有内容而不必搜索?