| > ここで描画した部分以外は背景を透明にし、裏にあるコンポーネントを表示したいのですが、 > 何か方法はありますでしょうか? 単純に透過させたいだけでしょうか? それでしたらコンポーネントの背景色をColor.Transparentに指定すればOKです。 しかし、透過色はデフォルトで設定できないので、コンポーネントのコンストラクターの中のInitializeComponent呼び出しより前に
SetStyle(ControlStyles.UserPaint, true); //デフォルト値なので省略可 SetStyle(ControlStyles.SupportsTransparentBackColor, true); //これが大事
と記述する必要があります。 それからコードでコンポーネントの背景に透過色を指定します。 BackColor = Color.Transparent;
上記3行をまとめて書いてしまえばOKです。
IDEのデザイナー上では透過色を指定できないので、必ずコードで指定してください。 |