C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 37 を表示中)
■19444 / )  Re[2]: ラベルの透過について
□投稿者/ 鶏唐揚 (156回)-(2008/05/23(Fri) 09:21:13)
2008/05/23(Fri) 09:25:45 編集(投稿者)

No19425 (Azulean さん) に返信
>>Dim g As Graphics = Me.CreateGraphics()
> これがそもそもの間違いです。
> Paintイベントの引数のeにGraphicsプロパティがあるので、そちらに描画するようにして下さい。
>
>
> しかし、これをしても、望んだとおりの透過にはならなさそうな感じがしますね。
いえ、Azuleanさんビンゴです。

CreateGraphicsはCreateという名の通り、新しくグラフィックスインスタンスを作ります。
一応生成元と繋がってるので、そのグラフィックスで描画しても正常に画面に反映されます。
が、VB.NETのラベルの「透過」は親の元のグラフィックスを自分自身にも描画するという形をとってるようなので
CreateGraphicsで新しく作られたグラフィックスはシカトしてるようです。

親の元グラフィックスであるPaintイベントの引数eを使うことで解決できます

#感覚的には、画像処理ソフトの「レイヤー」みたいなものかな。
 CreateGraphicsはレイヤの追加で、ラベルは「背景レイヤー」しか見てないと。

返信 編集キー/


管理者用

- Child Tree -