WPFフェードアウト
wpf:
Windows設定Opacity=0;
C# code
誰が私にこの問題を解決することができて、どのようにプログラムのフェードイン効果を実現しますか?
ありがとう
答え1
------その他回答(1点)------
C# code
------その他回答(2点)------
DispatcherTimerで
------その他回答(27分)------
WPFでフェードアウトを実現するには、コードを書きすぎてループを制御する必要はありません.
C# code
Windows設定Opacity=0;
C# code
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.Timer111();
}
// Timer : using System.Timers;
Timer timer1 = new Timer(1000);
private void Timer111()
{
timer1.Start();
timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
}
private void timer1_Elapsed(object sender, EventArgs e)
{
// : , 。
if (!(this.Opacity < 1))
{
timer1.Stop();
}
this.Opacity += 0.1;
}
誰が私にこの問題を解決することができて、どのようにプログラムのフェードイン効果を実現しますか?
ありがとう
答え1
------その他回答(1点)------
C# code
C#
1.
private void Form1_Load(object sender, System.EventArgs e)
for(double d=0.01; d< 1; d+=0.02)
{
System.Threading.Thread.Sleep(1);
Application.DoEvents();
this.Opacity=d;
this.Refresh();
}
2.
private void timer1_Tick(object sender, System.EventArgs e)
{
this.Opacity = WinShow ;
WinShow += 0.1 ;
if(WinShow >=1 )
{
timer1.Dispose ();
}
}
3.
,
frmForm myForm=new frmForm()
frmForm.Opacity=0;
frmForm.show();
for(int i=0;i<100;i++)
{
Application.DoEvents()
frmForm.Opacity=i/100;
}
4.
#region ******** ********
private double WinShow = 0;//
private void FormShow(System.Windows.Forms.Form Curfrm)
{
Curfrm.Opacity = WinShow ;
WinShow += 0.01;
if(WinShow == 1)
{
Curfrm.timerShow.Stop ();
}
}
#endregion
#region ******** ********
//
private void timerShow_Tick(object sender, System.EventArgs e)
{
//timerShow, timer ; timerShow.interval=100 。
FormShow(this);
}
#endregion
------その他回答(2点)------
DispatcherTimerで
------その他回答(27分)------
WPFでフェードアウトを実現するには、コードを書きすぎてループを制御する必要はありません.
C# code
using System.Windows.Media.Animation;
private void Window_Loaded
(object sender, RoutedEventArgs e)
{
// this.Opacity = 0;
DoubleAnimation OpercityAnimation =
new DoubleAnimation(0.01, 1.00,
new Duration(TimeSpan.FromSeconds(1)));
this.BeginAnimation(Window.
OpacityProperty, OpercityAnimation);}