2

コントロールのブロック(パネル)のディゾルブアニメーションを作成しようとしています。単色の背景(ライム)にラベルと画像ボックスがほとんどないパネルがあります。このパネルを(すべてのラベルと写真とともに)ライムの背景に溶かそうとしています。どのようにそれを行うことができるかについてのアイデアはありますか?私はどんな提案にもオープンです。ありがとう。

4

1 に答える 1

0

残念ながら、Forms.Panel などのコントロールには Opacity プロパティがありません。それをエミュレートするために頭に浮かぶ唯一の方法は、コントロールの BackColor をアルファチャンネルが設定された値に徐々に変更することです (たとえば、タイマーを使用):

int opacity = 25;

myPanel.BackColor = Color.FromArgb(opacity, myPanel.BackColor);
myLabel.BackColor = Color.FromArgb(opacity, myLabel.BackColor);

残念ながら、一部のコントロールは期待どおりに反応しません (ボタンなど)。また、ForeColor を変更するのは簡単ではありません (派生コントロールの OnPaint メソッドをオーバーライドするとうまくいく場合もあります)。

于 2013-02-06T14:17:57.990 に答える