私は画面全体で最大化されたフォームを作成しました。完全に透明なパネルのキーを押しながらマウスをクリックすると反応します
フォーム内には、フォーム全体を塗りつぶすようにサイズが設定されています。背景色がRed
に設定されています。フォームのTransparencyKey
はRed
に設定されています。
したがって、Panelは「鍵穴」のようなものです。そのすぐ下にあるデスクトップを見ることができます。
ユーザーがパネルをクリックするか、またはキーボードのキーを押すと、対応したいと思います。
しかし、パネルが完全に透明であるため、クリックするかキーを押すと何も起こりません。パネルを非透明にすると(たとえば、背景色をBlueに設定すると)、クリックに反応します。
パネルがクリックやキー操作に反応するのに最適な方法は何ですか?
システム全体ですべてのマウスイベントをマウスで操作する必要がありますか、それとも簡単な方法がありますか?
これはAeroでのみ動作します。 XPまたはAeroを無効にすると、パネルはマウスのクリックに対して透過的になります。エアロの振る舞いはバグですが、「フィーチャー」になるには不十分です。 –
@ Hans-Passant XPやAeroで動作する技術は知っていますか? – yarone
あなたの質問の最後の文に答えがあります。 –