0

DataGridViewコンテキストメニューがあります。1 つのメニュー項目は [コピー] (Ctrl+C ホットキーを使用) です。ユーザーが右クリックしたセルをコピーするために現在のマウスの位置を取得するか、ホットキーを使用した場合は現在選択されているセルを取得するだけです。 . どちらの場合も、menu_Clickイベントが発生します。ホットキーによるものかコンテキスト メニューによるものかはどうすればわかりますか?

4

1 に答える 1

1

私の知る限りでは、HookすべてのMouseおよびKeyboardイベントを使用して入力のソースを検出できます。

このCodeProjectの記事、Processing Global Mouse and Keyboard Hooks in C# をご覧ください。

MSDN リファレンス:

グローバル フックは、呼び出しスレッドと同じデスクトップ内のすべてのスレッドのメッセージを監視します。スレッド固有のフックは、個々のスレッドのみのメッセージを監視します。グローバル フック プロシージャは、呼び出しスレッドと同じデスクトップ内の任意のアプリケーションのコンテキストで呼び出すことができるため、プロシージャは別の DLL モジュール内にある必要があります。スレッド固有のフック プロシージャは、関連するスレッドのコンテキストでのみ呼び出されます。

于 2012-10-30T17:59:27.560 に答える