[Visual C#] : Come creare una splash screen con WindowsForms 2.0
Mentre creare una splash screen con Visual Basic .Net è un’operazione molto semplice, infatti basta definire nelle proprietà del progetto quale form è la splash, con C# è necessario crearsi una classe (nell’ esempio ho chiamato la classe MyApplication) che derivi da WindowsFormsApplicationBase. Questa classe è presente nell’assembly Microsoft.VisualBasic.dll, pertanto sarà necessario aggiungelo come riferimento al progetto.
Una volta creata la classe MyApplication sostituiamo la chiamata alla creazione della main form nel metodo statico Main di Program con la nostra classe in questo modo :
static class Program
{
[STAThread]
static void Main()
{
MyApplication application = new MyApplication();
application.Run(new string[] { });
}
}
La classe MyApplication deve obbligatoriamente definire quale sarà la form princiale (main form) che dovrà essere richiamata all’avvio del programma.
Quindi sarà necessario fare l’override del metodo OnCreateMainForm come di seguito :
public class MyApplication : WindowsFormsApplicationBase
{
protected override void OnCreateMainForm()
{
this.MainForm = new MainForm();
}
}
a questo punto, per definire la splash screen è sufficiente fare l’override del metodo OnCreateSplashScreen indicando la form da visualizzare all’avvio :
public class MyApplication : WindowsFormsApplicationBase
{
protected override void OnCreateMainForm()
{
this.MainForm = new MainForm();
}
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new SplashScreen();
}
}
In questo modo la splash screen verrà visualizzata sino a quando la main form non ha completato il caricamento.
Qualora fosse richiesto un tempo di visualizzazione maggiore è possibile definirlo attraverso la proprietà MinimumSplashScreenDisplayTime nell’inizializzazione :
publicl class MyApplication : WindowsFormsApplicationBase
{
//....
protected override bool OnInitialize(System.Collections.ObjectModel.ReadOnlyCollection<string> commandLineArgs)
{
// Si visualizza per 3 secondi
this.MinimumSplashScreenDisplayTime = 3000;
return base.OnInitialize(commandLineArgs);
}
}
In questo esempio il tempo di caricamento della form principale è sotto i 3 secondi allora la splash screen rimarrà visualizzata per 3 secondi, altrimenti per il tempo necessario alla form principale di attivarsi.
![YouBuy.it - Last Minute - Offerte Sottocosto last [Visual C#] : Come creare una splash screen con WindowsForms 2.0](http://images.youbuy.it/adv/last.jpg)