私はスプラッシュスクリーン4をWinアプリケーションにしようとしています。スプラッシュスクリーンとしての半透過PNG
マイセットアップ:
フォームの境界線のスタイルがnoneに設定されています。開始位置はスクリーン中心です。 フォームの背景イメージは、丸みを帯びたエッジとドロップシャドーで「PNG」に設定されています。私が設定しているコードで
:
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.AllowTransparency = true;
this.BackColor = Color.Transparent;
が、私はテストを、それはフォームが透明背景色を持つことができないと言います。
それはdropschadow(PNGの半透明の部分)私は、それはまた私のPNGに影響を与えるcuzを、0%に不透明度を設定したくないも
とのトラブルの原因となるcuzの私は、透明キーを設定する必要はありません。
実際、私はちょうどウィンドウとして表示された私のPNGだけがほしいです。それの上にいくつかのダイナミックテキストと将来のプロセスバーが追加されます...
アイデア?どのようにフォームが透明な背景を持つことができるのですかADOBE PHOTOSHOP CS5のスプラッシュ画面のようなものです。
あなたが求めているのは、プロジェクト - >追加 - >新しいフォームをクリックしたデフォルトのフォームでは利用できません。あなたがしなければならないのは、デフォルトの機能を拡張することです。投稿したコードにはすでに頭出しが入っています。これは、拡張フォームクラス(またはその一部の変更バージョン)に追加するものです。追加するその他のものは、フォームの形状を定義するカスタム領域です。透明性を忘れるいくつかのリソースのリンクがあります。 – Jason
リソースのリンク:http://stackoverflow.com/questions/5092216/c-sharp-form-with-custom-border-and-rounded-edges and http://stackoverflow.com/questions/1592876/c-sharp-ボーダレスフォーム移動可能透明性キーを使用しないので、透明性についてはわかりません。 – Jason
正直なところ、透明キーを使用する代替方法の潜在的な手間と複雑さを避けるために、PNGの枠線を編集することもできます(Microsoft Paintのピクセルを消去するか、 Photoshop、選択範囲を反転して枠線を削除する)、それを自分で再描画します。 – Jason