ボタンにフォーカスがある間、ユーザーがキーボードの上矢印を押しているときに捕捉する必要があります。私はボタンのKeyUpイベントを処理するためにこのコードを書いています:フォーカスがボタン上にあるときにキーボードの上矢印を処理する
private void btnValider_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
//do stuff
}
}
しかし、この機能は上矢印キーを押して処理しませんでした。
私がしたいことが可能か、フォームからこのイベントを処理する必要があるかどうかわかりません。
を示唆したように、 '真PreviewKey =を追加;'初期化されている間。 'void meForm_KeyUp(object sender、KeyEventArgs e){if(btnValidaer.HasFocus){/ * logic here * /}}'のようなフォームで入力を確認することもできますし、 'IMessageFilter'インターフェースを追加することもできますし、 'WndProc(ref Message msg)'メソッド –
'' KeyUp':についてのドキュメントを参照してください(https://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup(v = vs .110).aspx) - _ "TAB、RETURN、ESC、**矢印キーなどの特定のキーは、コントロールによって自動的に処理されます。これらのキーでKeyUpイベントを発生させるには、あなたのフォーム上の各コントロール。IsInputKeyのオーバーライドのコードは、特殊キーの1つが押されているかどうかを判断し、trueの値を返さなければなりません "# – stuartd
@ m.rogalski PreviewKeyはFormでのみ利用でき、矢印キーをキャッチするのに役立ちます – Kodre