質問

Visual C#Kicks アルファブレンド形式のコードを試しました。これは機能します( TransparencyKey プロパティを削除するとすぐに)。つまり、W3Cの PNGアルファテスト画像を使用して、他のウィンドウを表示できます。下にありますが、フォーム上のすべてのコントロールを非表示にします。おそらく、 OnPaint がオーバーライドされるため、単純にペイントされません。スーパークラスの OnPaint を呼び出してみました:

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    UpdateFormDisplay()

    MyBase.OnPaint(e)
End Sub

、しかしこれは何も変えませんでした。 ( MyBase.OnPaint first を呼び出しても違いはありません。)

残念ながら、アルファブレンドフォームに関するほとんどの記事は、コントロールのない純粋なスプラッシュスクリーンに焦点を当てています—ただし、最初にサインインフィールドを表示し、次にプログレスバーを表示するパネルが必要です。

コントロールは、ところで、透明性を必要としません。 PNGの透明性が本当に重要なのは外側の端だけです。そのため、このすべての上に別のフォームを追加してこれを偽造する(2つは常にタンデムに移動する)だけで十分かもしれませんが、私はよりスムーズなソリューションを好むでしょう。

役に立ちましたか?

解決

奇妙なことに、とにかく、この記事では、コントロール付きのアルファ変換フォームについて説明します。

http://www.codeproject.com/KB/miscctrl/AlphaForm.aspx

他のヒント

InitializeComponents()の後にこれをフォームctorに入れてみてください。

base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint、true);

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top