いいのができたら使わせてください。レイヤードウィンドウ1個で済ませるのがいいでしょう。・ウィンドウの縁、タイトルバー、コントロールボックスなどが要らない。Form.Regionだと縁などが描かれてしまいますので、自分で処理しないといけません。形を変えるたびにちらつく場合があります。複数のFormを組み合わせるのもちらついたり、重いのでダメです。レイヤードなら、はじめから全部自分で描くので、余計なことを考えなくてすみます。形を変えたときのちらつきはありません。(ちらつかずに1回の描画が重くなるだけ)れいさんの言うとおり確かにレイヤードウィンドウを使うとよさそうですね!自分の言っている事がちゃんと伝わっているみたいで嬉しいです。自分で調べてみたのですがまだいまいち理解できません。レイヤードウィンドウ1個で済ませるのがいいでしょう。いうことは作成するフォームは1つでよいということでしょうか?最初その作成したフォームを透明にしておいて領域を出たらそこのアイコンだけを表示させるということでしょうか?よろしくお願いします。自分で調べてみたのですがまだいまいち理解できません。レイヤードウィンドウとはフォームを半透明とか透明にするものですよね?いいえ。それだけではありません。様々な形状の物をデスクトップに表示したり、それを動かしたり、そういったことができる仕組みのことです。>>レイヤードウィンドウ1個で済ませるのがいいでしょう。いうことは作成するフォームは1つでよいということでしょうか?はい。レイヤードウィンドウなフォーム一つで大丈夫です。最初その作成したフォームを透明にしておいて領域を出たらそこのアイコンだけを表示させるということでしょうか?「透明にしておく」というのはちょっと違いますね。レイヤードウィンドウは何もしなければもともと全て透明、というか、何も表示されません。(枠くらいは表示されたかな?)「デスクトップと同じサイズの透明なビットマップに描く」というイメージですね。そのビットマップはOSが管理してくれて、画面に自動で描画されます。他の窓に隠されたりした場合の再描画は要りません。描画方法が全然違うので、ButtonやTextBox、TreeViewなどはうまくやらないと動きません。今回はそういったコントロールは必要ないですよね?表示内容を変えたいとき、ウィンドウの外形を変えたいときに画面に実際に表示したい内容のビットマップを作成し、UpdateLayeredWindowに渡せばいいだけです。透明色で塗られている場所は、実際に透明として出力され、マウスのイベントなどもきちんと下の窓に伝わります。その色を指定すれば、フォーム全体が消えます。一部だけを別の色にしておけば、フォームの一部分だけが表示されます。塗りつぶし領域を変化させていったところ、それっぽい動作になりました。環境によっては透過してくれない場合がありますので、下記の対処方法を併用する必要があるかと。その色を指定すれば、フォーム全体が消えます。一部だけを別の色にしておけば、フォームの一部分だけが表示されます。ここまではできました。それっぽい動作になりました。メソッドを実行してみてください。メソッドを実行してみてください。試行錯誤してやってみましたが上手く実行できません。記述の仕方がおかしいのかもしれないです。新しいBitmapは用意する必要はあるのでしょうか?もしよろしければ、サンプルソースコードなどいただけないでしょうか?よろしくおねがいします。「透明にしておく」というのはちょっと違いますね。レイヤードウィンドウは何もしなければもともと全て透明、というか、何も表示されません。「デスクトップと同じサイズの透明なビットマップに描く」というイメージですね。そのビットマップはOSが管理してくれて、画面に自動で描画されます。他の窓に隠されたりした場合の再描画は要りません。描画方法が全然違うので、ButtonやTextBox、TreeViewなどはうまくやらないと動きません。UpdateLayeredWindowに渡せばいいだけです。これは何通りものbitmapを作ってその都度更新していく?ということでしょうか?よろしくお願いします。