私はいくつかのコントロールを持つフォームを持っています。私は、制御イベントに関係なくkeydownイベントの特定のサブを実行したい。 つまり、フォーム上のどこでもCtrl + Sキーを押すと、サブルーチンが実行されます。vb.net全体フォームのKeydownイベント
10
A
答えて
17
あなたは、このプロパティをtrueに設定すると、フォームがすべてのKeyPressイベント、 KeyDownイベント、およびからkeyupイベントを受け取ることになります
がTrueに、フォーム上の KeyPreviewプロパティを設定し、keydownのイベントを処理する必要があります。フォームのイベントハンドラが がキーストロークの処理を完了した後、キーストロークはフォーカスを持つコントロール に割り当てられます。 .........キーボードの イベントをフォームレベルでのみ処理し、コントロールに キーボードイベントを受け取らないようにするには、 フォームのKeyPressイベントハンドラのKeyPressEventArgs.Handledプロパティをtrueに設定します。
たとえば、Control + Sキーの組み合わせを処理するには、このイベントハンドラをKeyDownイベントのフォーム用に作成します。
1
私のフォームにこのコードを使用していますが、これはかなりうまくいくようです。
Protected Overrides Function ProcessKeyPreview(ByRef m As System.Windows.Forms.Message) As Boolean
If m.Msg = &H100 Then 'WM_KEYDOWN
Dim key As Keys = m.WParam
If key = Keys.S And My.Computer.Keyboard.CtrlKeyDown Then
'DO stuff
Return True
End If
End If
Return MyBase.ProcessKeyPreview(m)
End Function
関連する問題
- 1. CKeditorのKeyDownイベント
- 2. ClickDownイベントのKeyDown
- 3. のkeydownイベント
- 4. ラベルのKeydownイベント
- 5. keydownイベントのシミュレート
- 6. iframeのkeydownイベント
- 7. VB.NET(Windowsフォームレベルではありません)のアプリケーションレベルKeyUp/KeyDownイベント
- 8. Silverlight Smooth KeyDownイベント
- 9. JSトリガKeyDownイベント
- 10. ASPxTextBox KeyDownイベント
- 11. KeyDownイベントとNSTableViewCocoa
- 12. C#ラジオボタンkeydownイベント
- 13. jqueryのKeyDownイベント/アップ
- 14. cakePHPのjQuery keydownイベント
- 15. WindowsMediaPlayer VB6のKeyDownイベント
- 16. C#イベントのIPC全体
- 17. Bluemixアプリ - 全体のアクティビティログ(イベント)
- 18. ビットマップ全体のWindowsフォーム
- 19. KeydownイベントJqueryノードjs?
- 20. フォームがアクティブでないときのKeydownイベント
- 21. C#WindowsフォームのKeyDownイベントが頻繁に発生する
- 22. keydownイベントのfirefoxでのダブルイベント
- 23. wxPythonでのKeyDownイベントのオーバーライド
- 24. フォームkeydownイベントは、テキストボックスの作業を中断します。keypressイベントC#
- 25. のKeyDownイベントが正しく
- 26. はKeyDownイベント:との問題「@」
- 27. keydownイベントの検出(モバイル)
- 28. VB.NETテキストボックスのKeyDownイベントは、私はTabControlのページ上のテキストボックスを持っている
- 29. jQueryのKeyDownイベントバインディング - ボディライブおよびドキュメントのKeyDown、クロム、サファリ、オペラでMacのKeyDownイベント
- 30. プラグインアーキテクチャ用のアプリケーション全体のイベント/フック
ありがとうSteve ...その非常に役立つ – Malik