none
BackColorにTransparentを設定したPictureBoxへの描画について RRS feed

  • 質問

  • C#でGUIを利用したプログラムを作っており、わからないことがあったので質問させてください。

     

    下図のようにPictureBox2に壁紙を表示し、その上においたPictureBox1の上で図形等を描画したいと考えています。PictureBox2に図形を描画しないのは、一度描画した図形を消すときに壁紙を一緒に消してしまうのを防ぎたかったからです。

     

    ------------------- ←PictureBox1(BackColor=Transparent)

    ------------------- ←PictureBox2(背景に壁紙等を読み込み)

     

    BackColorにTransparentを設定したPictureBoxに図形を描画することはできないのでしょうか。

    また、上記のようなことを実現するためによい方法がありましたら教えてください。

    よろしくお願いします。

    2007年5月16日 2:47

回答

  • kotto さん、こんにちは
    ダッチです。

     kotto さんからの引用
    BackColorにTransparentを設定したPictureBoxに図形を描画することはできないのでしょうか。
    何かうまくいかなかったのでしょうか?問題なくできますよ。

     kotto さんからの引用
    また、上記のようなことを実現するためによい方法がありましたら教えてください。
    PictureBox の BackgroundImage プロパティ に壁紙を設定して、そのPictureBox に図形を描画すれば PictureBox を二つ用意しなくても大丈夫だと思います。
    2007年5月16日 3:24

すべての返信

  • kotto さん、こんにちは
    ダッチです。

     kotto さんからの引用
    BackColorにTransparentを設定したPictureBoxに図形を描画することはできないのでしょうか。
    何かうまくいかなかったのでしょうか?問題なくできますよ。

     kotto さんからの引用
    また、上記のようなことを実現するためによい方法がありましたら教えてください。
    PictureBox の BackgroundImage プロパティ に壁紙を設定して、そのPictureBox に図形を描画すれば PictureBox を二つ用意しなくても大丈夫だと思います。
    2007年5月16日 3:24
  • ダッチさん、素早い返答ありがとうございます。

     

    BackColorにTransparentを設定したpictureBoxに、うまく図形を表示することができました。

    原因は、コントロールの親子関係を正しく理解しておらず、pictureBoxの親子関係を逆に設定していたことでした。

    お騒がせして申し訳ありませんでした。

    2007年5月16日 4:28