Form
のBackColor
には透明/半透明の色は設定できません。例外がスローされるのでエラーメッセージが表示されると思うのですが。例外をキャッチしたら終了するというようなコードを書いたのでしょうか。
とりあえず、フォームを半透明にするにはOpacity
プロパティを0%(0.0)~100%(1.0)の範囲で設定することでできますが、フォーム全体に影響するのでタイトルバーやフォームに配置したコントロールも含めて半透明になってしまいます。
なぜか.NET Frameworkでは直接のサポートはないのですが、「レイヤードウィンドウ」の機能を使えば部分的に(ピクセル単位で)透明にしたり半透明にしたりできます。前述のOpacity
による半透明化もレイヤードウィンドウの機能の一つです。
ただし、「簡単に」というわけにはいきません。Windows APIのUpdateLayeredWindow
関数でアルファチャンネル付きのビットマップを渡せば良いのですが、ボタンやテキストボックス等のコントロールは一切表示してくれなくなるので、UIパーツはすべて自力で描画する必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/24 15:27