Dieses Snippet zeigt wie ein Fenster zentriert gestartet werden kann mit einem Fade-In Effekt.
Und dies in einem zweiten Thread, so dass das GUI auch während des Effekts auf User-Input reagieren kann.
public partial class LogOn : Form
{
public LogOn()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
this.Opacity = 0;
}
#region Delegates
delegate bool delBool();
#endregion
private void LogOn_Load(object sender, EventArgs e)
{
new Thread(new ThreadStart(delegate { FadeIn(); })).Start();
}
private void FadeIn()
{
delBool fis = new delBool(fadeInStep);
while (!(bool)this.Invoke(fis)) { }
}
private bool fadeInStep()
{
this.Opacity += 0.01;
Thread.Sleep(2);
if (this.Opacity == 1)
return true;
else
return false;
}
}
}
Kommentare zum Snippet