
.NETでWinFormアプリをC#で製作中です。
Visual Studio Community 2017を使用しています。
添付の図のように、Form上にボタンやDataGridView等が配置されていて、それらの手前に透過GIF(またはPNG)を描画したいのですが、方法が分からず詰まっています。
検索して調べてみたところでは、PictureBoxが子になる親のコントロールに対してしか背景色のTransparentが有効にならないという仕様があるということが分かっただけで、このように複数のコントロールにまたがるような配置で透過させる方法を見つけることができませんでした。。
お分かりになる方いらっしゃいましたらアドバイスをお願いします。m(_ _)m

No.1ベストアンサー
- 回答日時:
試したことはありませんが…
https://dobon.net/vb/dotnet/form/formregion.html
コントロールの形状を透過GIFの形にくり抜く…でしょうかね?
単純な形でない場合はすごく面倒そうですけど。
Panelコントロールを被せて、そっちも透過にする。
というのもあるかもしれませんが、下のコントロール操作出来たかな?
Wr5さん いつもご回答ありがとうございます!
なるほど、コントロールの描画そのものをくり抜くことができるのですね‥!
表示したいのはGIFアニメで紙吹雪が舞い散ったりするようなものだったりと複雑なものを想定しているのでこちらの方法だと厳しそうですが、覚えておきたいと思います!
Panelコントロールを被せる場合にも同様の問題があるようでして、Panelの背景色のTransparentを有効にするにはやはり何かの子コントロールにする必要があるみたいで、そうすると親コントロールの内部にしか配置(描画)されないようですね。。
試しにDataGridView>Button2>Button1>PictureBoxで親子を設定すると、DataGridView内部にボタン2つが移動してしまいます。。ぐむむといった感じです。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
picturebox の BackColor は透明に出来ないのですか?
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
vb.net 画像の透過について
Visual Basic(VBA)
-
-
4
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
5
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
6
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
7
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
8
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
9
ハードディスクの電源を切るということの詳細を教えてください
その他(パソコン・周辺機器)
-
10
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
11
C#で親にイベントを投げる方法
C言語・C++・C#
-
12
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
13
C#プログラムで、ボタンをショートカットキー付きで作りたいのですが、方
その他(プログラミング・Web制作)
-
14
C#で、画像の、指定した座標の色情報を取得し
C言語・C++・C#
-
15
C#でボタン名を変更しても動く
その他(プログラミング・Web制作)
-
16
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
17
C#でパネルに子パネルを上から降順追加したいです。
C言語・C++・C#
-
18
C#でキーイベントが発生しないようです
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA ユーザーフォームの Keypre...
-
EXCELでactivexコントロールを...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
ActiveXコントロールはどこへい...
-
エクセルVBAでオプションボタン...
-
Shapeコントロールの.NET移行方法
-
ユーザーフォームで動的(Me.Con...
-
Access2007 コントロールの削除
-
Excel VBA で Richtextboxを使...
-
フォーカスの枠線を太くしたい
-
ExcelVBAのコントロールの種類...
-
ControlTipTextの書式設定(Font...
-
チェックボックスをオンにした...
-
【VB】テキストボックスのキー...
-
AccessのDataGridコントロール...
-
キンドルでの購入が親にバレな...
-
chr関数の呼び出しで「プロ...
-
RowSourceがない
-
excelのリストボックスで選択し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでオプションボタン...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
EXCELでactivexコントロールを...
-
VBA ユーザーフォームの Keypre...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
チェックボックスをオンにした...
-
ユーザーフォームで動的(Me.Con...
-
chr関数の呼び出しで「プロ...
-
全てのオブジェクトのプロパテ...
-
vb.netで画面のコントロールId...
-
間違えて配置してしまったコン...
-
Excel VBA で Richtextboxを使...
-
VBAのフォームでTextBoxがいっ...
-
OCXって何ですか?
-
C# Form上に配置されたコントロ...
-
エクセル コントロールツール...
-
変数をコントロール型で使用す...
-
Groupboxの配下のコントロール...
おすすめ情報
その後の経過についてです。
下記の記事を参考に、背景を透明にしたフォームにPictureBoxを配置することで、メインフォーム上に透過付きアニメーションGIFを再生することができましたが‥
「半透明のフォームの作り方(2つのフォームを重ねる)・続き」
http://amonution.sblo.jp/article/44289906.html
しかし、フォームに透過色を指定して透明にする記述の影響で、透過GIFの絵のフチに透過色がゴミのように出てしまうという問題が起こり、これでは実用に耐えないという感じになっています。。
もう少し調べてみたいと思います。
「半透明のフォームの作り方(2つのフォームを重ねる)・続き」
http://amonution.sblo.jp/article/44289906.html
こちらを参考にした方法ですが、GIF画像を用意する際に透過した状態で画像を用意するのではなく、フォームの背景を透過する際に指定する「透過色」でGIFの抜き部分を塗っておいて、背景と一緒に透過されるように指定してやることで解決できました!