none
重なり合ったオブジェクトの透過 RRS feed

  • 質問

  •  

    Formの上にLabelを貼り、その上にPicutureBoxを貼った場合、

    Form,PicutreuBox間は透過になりますが、LabelはPicutreBoxから透かして見えません。

    Labelの内容を見えるようにすることは可能でしょうか?

    やりたいこと

    Formの上に一般的なオブジェクトを貼り付け、その上にPicutreBoxを貼り、オブジェクトが透過な状態で、PicutrueBox上落書きをしたい。

    よろしくお願いします。

    2009年2月18日 8:01

回答

  • saru2 さん の発言:

    Formの上にLabelを貼り、その上にPicutureBoxを貼った場合、Form,PicutreuBox間は透過になりますが、

    そのように見えるかもしれませんが、実際はFormと同じ色、同じ絵を塗っているだけであって、透明ではありません。
    (内部的に親のコントロールに同じ背景を描画してねと依頼している形となり、背景の上にいるはずのLabel等のコントロールとかは関係しない)
    このため、透明にするための努力とか知恵とかが別途必要になります。

    ところで、どうしても、コントロールを透過させる必要があるのでしょうか?
    Labelと同じ内容を描画して偽物を作るとか、あるいはPictureBoxを非表示にした状態でFormのDrawToBitmapでFormを絵として取っておいて、PictureBoxに背景画像として描画するとか、そういったごまかしが通じるのかどうかが判断つきません。


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク sk7474 2009年3月2日 7:48
    2009年2月18日 14:23
    モデレータ

すべての返信

  • saru2 さん の発言:

    Formの上にLabelを貼り、その上にPicutureBoxを貼った場合、Form,PicutreuBox間は透過になりますが、

    そのように見えるかもしれませんが、実際はFormと同じ色、同じ絵を塗っているだけであって、透明ではありません。
    (内部的に親のコントロールに同じ背景を描画してねと依頼している形となり、背景の上にいるはずのLabel等のコントロールとかは関係しない)
    このため、透明にするための努力とか知恵とかが別途必要になります。

    ところで、どうしても、コントロールを透過させる必要があるのでしょうか?
    Labelと同じ内容を描画して偽物を作るとか、あるいはPictureBoxを非表示にした状態でFormのDrawToBitmapでFormを絵として取っておいて、PictureBoxに背景画像として描画するとか、そういったごまかしが通じるのかどうかが判断つきません。


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク sk7474 2009年3月2日 7:48
    2009年2月18日 14:23
    モデレータ
  • こんにちは。中川俊輔です。

    Azuleanさん、回答ありがとうございます。

    saru2さん、フォーラムのご利用ありがとうございます。
    その後いかがでしょうか? 
    有用な情報と思われたため、Azuleanさんの回答へ回答マークをつけさせていただきました。

    今後ともフォーラムをよろしくお願いします。
    それでは!
    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年3月2日 7:51