![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
.NETでWinFormアプリをC#で製作中です。
Visual Studio Community 2017を使用しています。
添付の図のように、Form上にボタンやDataGridView等が配置されていて、それらの手前に透過GIF(またはPNG)を描画したいのですが、方法が分からず詰まっています。
検索して調べてみたところでは、PictureBoxが子になる親のコントロールに対してしか背景色のTransparentが有効にならないという仕様があるということが分かっただけで、このように複数のコントロールにまたがるような配置で透過させる方法を見つけることができませんでした。。
お分かりになる方いらっしゃいましたらアドバイスをお願いします。m(_ _)m
![「C# Form上に配置されたコントロール」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/4/542370351_5bc4b651b966a/M.png)
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で質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 画質を落とさず切り取って透過したいです 2 2022/06/08 12:28
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- Photoshop(フォトショップ) 【至急】 ウェブサイトやアプリとかでよく見かける、添付画像のように背景にあるものをぼかしつつ透過する 2 2023/07/17 10:57
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Illustrator(イラストレーター) 会社の名刺作成時にロゴを配置する方法 3 2023/06/06 18:06
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- WordPress(ワードプレス) Wordpress プラグイン Mail Form 7 のファイル添付の表示が切れてしまう 1 2022/03/24 09:05
- HTML・CSS 角丸画像の背景色を透明にしたいです 1 2023/06/23 23:15
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
c#でTextBoxの入力制限
C言語・C++・C#
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
6
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
7
Loadイベント中にほかのイベントを発生したくない
その他(プログラミング・Web制作)
-
8
C# visibleプロパティをfalseに設定したテキストボックス
C言語・C++・C#
-
9
Hideについて(.NET)
Visual Basic(VBA)
-
10
picturebox の BackColor は透明に出来ないのですか?
Visual Basic(VBA)
-
11
アニメGifが止まってしまう?
Visual Basic(VBA)
-
12
C# 画面のちらつきを解消したい
その他(プログラミング・Web制作)
-
13
C# 配列の変数宣言について。
C言語・C++・C#
-
14
Button(コントロール)を半透明化する方法
C言語・C++・C#
-
15
【C#】別フォームも同時に閉じるには?
C言語・C++・C#
-
16
C#で動的にコントロールを取得するにはどのようにしたらよいのでしょうか
C言語・C++・C#
-
17
C#で角が丸いテキストボックス
その他(プログラミング・Web制作)
-
18
C#で動的に作ったtextboxを消す。
C言語・C++・C#
-
19
C# ListBoxのアイテムをユーザーが直接リネームできるようにすることは可能ですか?
C言語・C++・C#
-
20
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビープ音鳴らし続けたい。
-
カメラスクロールするのを動画...
-
間違えて配置してしまったコン...
-
VBA ユーザーフォームの Keypre...
-
vb.netで画面のコントロールId...
-
アクセスのActiveXコントロール...
-
(VBA)スピンボタンの大量...
-
コントロールのグループ化
-
C# 子のコントロールからイベン...
-
VCでのFrame(VB6)は?
-
Labelコントロールの(左右)余...
-
VBAでイベント発生時に自分の呼...
-
With~EndWithの省略部分と引数...
-
ExcelVBAでListViewが使用できない
-
visual studio2017
-
vb.net メニューをダブルクリッ...
-
ユーザーフォームで動的(Me.Con...
-
C# FlowLayoutPanelにて
-
トグルボタン一部を一度にON OF...
-
ACCESS2010のVBAでフォーム内ク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
chr関数の呼び出しで「プロ...
-
変数をコントロール型で使用す...
-
ExcelVBAでListViewが使用できない
-
VBAのエラーについて、”実行時...
-
間違えて配置してしまったコン...
-
VBAのフォームでTextBoxがいっ...
-
Groupboxの配下のコントロール...
-
excelのリストボックスで選択し...
-
ACCESS2010のVBAでフォーム内ク...
-
エクセルVBAでオプションボタン...
-
フォーム上の現在アクティブな...
-
コンボボックスの文字によるif...
-
ユーザーフォームで動的(Me.Con...
-
コントロールを移動できない
おすすめ情報
その後の経過についてです。
下記の記事を参考に、背景を透明にしたフォームにPictureBoxを配置することで、メインフォーム上に透過付きアニメーションGIFを再生することができましたが‥
「半透明のフォームの作り方(2つのフォームを重ねる)・続き」
http://amonution.sblo.jp/article/44289906.html
しかし、フォームに透過色を指定して透明にする記述の影響で、透過GIFの絵のフチに透過色がゴミのように出てしまうという問題が起こり、これでは実用に耐えないという感じになっています。。
もう少し調べてみたいと思います。
「半透明のフォームの作り方(2つのフォームを重ねる)・続き」
http://amonution.sblo.jp/article/44289906.html
こちらを参考にした方法ですが、GIF画像を用意する際に透過した状態で画像を用意するのではなく、フォームの背景を透過する際に指定する「透過色」でGIFの抜き部分を塗っておいて、背景と一緒に透過されるように指定してやることで解決できました!