マウスオーバーしてシフトキーを押したときに、画像にズームインオーバーレイを表示しようとしています。
問題は、ウィンドウにフォーカスが移る前にユーザーがシフト キーを押した可能性があることです。そのため、KeyDown 監視は解決策ではありません。
マウス イベント中に修飾キーの状態にアクセスする方法はありますか? たとえば Java では、マウス イベントに修飾キーのフラグが含まれますが、.NET ではそうではありません。
Control.ModifierKeysプロパティを使用してみてください。
if ((Control.ModifierKeys & Keys.Shift) != Keys.None)
{
// do my stuff
}