我試圖做一些事情發生時,按下鍵,但我的鍵盤似乎沒有註冊。 我試圖使任何關鍵不是特定的事情發生。鍵盤輸入不能註冊
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Input;
namespace KeyDown
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public static IEnumerable<Key> KeysDown()
{
foreach (Key key in Enum.GetValues(typeof(Key)))
{
if (Keyboard.IsKeyDown(key))
yield return key;
}
}
private void MainGrid_KeyDown(object sender, KeyEventArgs e)
{
if(KeysDown().Any())
{
MessageBox.Show("Key pressed");
}
}
}
}
什麼都沒有發生,MainGrid
是可以聚焦的。
試過這個解決方案: How to detect if any key is pressed 但仍然沒有任何反應。
您剛剛定義了一個事件處理程序。我沒有看到你實際登記的事件。 – Tal87
是不是'if(Keyboard.IsKeyDown(Key.Return))'註冊任何鍵的方式? – Simon
這是WPF!不是asp.net! – marko