

お世話になります。

以前もTransparencyKeyによるフォームの透過について質問したのですが、まだ解決しないので  
もう一度質問させていただきます。

FormにTransparencyKeyを設定して、フォーム部分の透過処理をさせると、透明になった部分(TransparencyKeyの該当する色の部分)は、フォームをすり抜けて、背面にマウスイベントが  
走り、あたかも切り抜いた形にフォームができているような操作ができたと思います。いろいろな  
サイトを見ていますが、確かにそうなっていました。下記のサイト様もそうですが。

<http://hima-tubusi.blogspot.com/2016/11/c.html>

ですが、最近同じことをすると、見た目では確かに透過しているものの、透過部分をすり抜けて  
背面の操作をすることはできません。飽く迄フォームの矩形のまま、マウスイベントが発生して  
います。

これはいつからこういう仕様になってしまったのでしょうか。不具合ではなく、正式な仕様だと  
するならば、今後はずっとこの仕様のままなのでしょうか？

個人的には、以前のほうがおもしろいことができたので気に入っていたのですが、少し残念です。

詳細をご存じの方がおりましたら、お教えいただけますでしょうか。

よろしくお願いいたします。


CC BY-SA 4.0
2020-02-15T07:17:13.733
63064
2021-12-24T05:01:40.190
9374
question
c# form
C# FormのTransparencyKeyの透明設定の挙動について


kunif さんの コメントのリンクからたどっていった先のリンクに ズバリの回答がありました。

透過の色を

[code]

    this.TransparencyKey = System.Drawing.Color.Magenta;
    
[/code]

や

[code]

    this.TransparencyKey = System.Drawing.Color.Fuchsia;
    
[/code]

にすると 希望通りに背景の色を透過してマウスクリックできるようになります。

色によっては マウスイベントが透過しないようです。

※ 上記2つの色は透過できるのを確認しました。

<https://stackoverflow.com/questions/4448771/c-sharp-form-transparencykey-
working-different-for-different-colors-why>

また Windows の Aero の機能を ON にしたり OFF にすることでこの動作も変わってくるそうです。


CC BY-SA 4.0
2020-02-16T00:46:30.477
63079
2020-02-16T00:46:30.477
18851
63064
answer