私は自分の特定のタスク用のカスタムコントロールを置いたシンプルなフォームウィンドウアプリケーションを持っています。私はKeyDownハンドラをForm用に記述しました。問題はKeyDownハンドラ矢印キー以外のすべてのキーで正常に動作しています...コントロールはキーハンドラには入っていませんか?それはなぜそうですか?カスタムコントロールを削除するとうまく動作しますか?C#でキャプチャするキーボードイベントに問題があります
答えて
this SO questionをご覧ください。
KeyPreviewはありますか? どのようなコントロールにフォーカスがありますか?
はいKeyPreviewはフォームでオンで、私のカスタムコントロールにフォーカスがありますが、なぜ矢印キーのみをキャプチャしていないのですか?他のすべてのキーとうまく動作していますが、KeyUpイベントが発生したことに気が付いたことの一つですが、keydownではありません。 –
リンクをたどっていますか?カスタムコントロールにはテキストボックスが含まれていますか? – stevehipwell
なぜフォームがプレビュー矢印キーでないのかわかりません。しかし、とにかくキーボード処理(特にショートカットの処理)に低レベルのアクセスが必要な場合は、フォームのProcessCmdKeyをオーバーライドすることができます。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left)
{
// your code here
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
ProcessCmdKeyを適切に使用するには、コードのどこかにフォーカスする必要があります。
- 1. iPhoneで画像をキャプチャする際に問題がありますか?
- 2. キーボードイベントをキャプチャするCTRL + s
- 3. mobaxterm - CおよびC++のコンパイルに問題があります
- 4. ローンプログラムに問題があり、インタフェースがC#
- 5. C言語でメモリに問題があります*
- 6. C#でBitArraysに問題がありますか?
- 7. Cでこのループに問題がありますか?
- 8. キーボードイベントなどの問題
- 9. 問題があります
- 10. ディレクトリリスタープログラムに問題があり、C++
- 11. C gccコンパイルフェーズでいくつかの問題があります
- 12. C++のテンプレートクラス - リンクリストの作成に問題があります
- 13. Cプログラムの空白の出力に問題があります
- 14. C++クラス宣言とgsoapプロジェクトに問題があります
- 15. C++のバイナリファイルへの出力に問題があります
- 16. C++の継承に問題があります
- 17. C++ sscanfパターンに問題があります
- 18. ORACLEのOCI(C++)に問題があります
- 19. c配列の比較に問題があります
- 20. ESP呼び出し規約に問題があります。C++
- 21. 目的のC出力ストリームフラッシュに問題がありますか?
- 22. データバインドに少し問題があります。UWP(C#)
- 23. Objective-CのNSRangeに問題がありますか?
- 24. クラス機能に問題があります。 C++
- 25. 鋳造に問題があります。C++
- 26. C#のテキストの配置に問題があります
- 27. phmlで問題があります
- 28. どのようにキーボードイベントをキャプチャすることができますか?
- 29. C++ 'C String'実装にメモリ割り当ての問題があります
- 30. SDL_GetRGBAに問題があります
現在フォーカスはどこにありますか? – Fredou