キーが押されてもキーボードが登録されていないように見せかけています。 私は、特定のものではなく、どんなキーでも何かを起こそうとしています。キー入力が登録されていません
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