私はパネルをコンテナとして使用しています。このパネルには背景としてコンテナパネル内に画像があります。ラベルは、その情報は時間とともに変化します。私は、新しい情報が表示されようとしているときに移行し、古い情報で情報パネルをフェードアウトし、新しい情報で同じパネルをフェードインします。情報パネルをフェードアウトするときに、私はコンテナパネルのバックグラウンドイメージを見ることができます。どちらのパネルにもBorderStyle = FixedSingleがあり、インフォメーションパネルには背景色があります。コンテンツを持つパネルをフェードイン/アウトする方法#
私の質問は、情報パネルとコンテンツ全体をフェードイン/アウトする方法はありますか?
私はウェブで検索していましたが、パネルの背景色を使用してこのエフェクトを使用するアプローチを見つけましたが、バックカラープロパティをフェードインしようとしているので、 :
Timer tm = new Timer();
private void Form1_Shown(object sender, EventArgs e)
{
tm.Interval = 100;
tm.Tick += new EventHandler(timer1_Tick);
tm.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
int aa = 0;
panel2.BackColor = Color.FromArgb(aa, 255, 0, 0);
aa += 10;
if (aa > 255)
tm.Enabled = false;
}
助けてください。
では、私はWPFについて多くを知らないが、それはあなたのための選択肢であるならば、それはへのより良い選択かもしれませんあなたが探している効果を達成する。 http://en.wikipedia.org/wiki/Windows_Presentation_Foundation –
はい、WPFでは、時間の経過とともにパネルの不透明度を変更するアニメーションを作成するだけです。 –
あなたが直面する問題は、不透明度がコントロールレベルではなくフォームレベルでのみ利用可能であることです。おそらく巧妙なハックは、あなたのパネルにオーバーレイするフォーム上に同じイメージを作成し、opactiyが100%になると、フォームを隠すでしょう。 Winformsはこれでうまくいきません。 – LarsTech