私は現在、1つを除いてすべての望ましい効果を持つフォームを持っています。現在のフォームは、上部のメニューストリップと、その下にラベルと画像ボックスを含むパネルで構成されています。フォームを起動すると、メニューストリップは表示されません。ユーザーが「Alt」ボタンを押している間のみ表示され、同じように消えます。
パネルには、背景が透明な背景画像(.PNG)があります。 borderstyleをnoneに設定すると、この画像がフォームのメインレイアウトになります。ここで問題となるのは、フォームのパネルの下にまだ白/灰色がかった背景があることです。
ここで私の質問は、フォームを透明にして、フォームの背景が下にある画像だけでなく、パネル上の画像がメインレイアウトになるようにする方法です。パネルを100%表示したいので、Opacityプロパティを使用したくありません。
WinFormsを想定しています。
これは可能ですが、できませんエッジを半透明にします。
これを試して。
フォームで、次のプロパティを設定します。
BackColor = Color.Lime;
TransparencyKey = Color.Lime;
これにより、フォームが透明になります。次に、backgroundimageを設定します。
BackgroundImage = myImage:
Color.Lime
でもあるbackgroundimageの部分も透明になります。
Forms
の境界線も削除したい場合は、次の行も追加します。
FormBorderStyle = FormBorderStyle.None;
バックカラーを選択するときは注意してください。テキスト、画像、およびコントロールの色とは異なる背景色を選択します。つまり、フォームで使用することのない色を選択し、フクシア/ライムが最良の選択になると思います。背景色のコードを選択するには、以下を参照してください。
this.BackColor = Color.Fuchsia;
次に、そのコードを使用して、その色を透明にします。
TransparencyKey = Color.Fuchsia;