Il modo più veloce di fare una splashscreen in C# 2.0
Probabilmente il modo più veloce e facile di fare una splashscreen in C# 2.0: sfruttare la dll Microsoft.VisualBasic e la classe WindowsFormsApplicationBase contenuta al suo interno.
Visual Basic 2005 infatti permette di definire una splashscreen con pochi click (per la precisione basta dire quale form usare a tale scopo nelle proprietà).
In C# 2.0 possiamo quindi sfruttare il lavoro già fatto per VB nella seguente maniera:
- Importare nelle reference la dll Microsoft.VisualBasic
- Creare una classe che erediti da Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase - chiamiamola ad esempio MyApplicationBase
- Dentro questa classe fare due override:
protected override void OnCreateMainForm()
{
this.MainForm = new Form1();
}protected override void OnCreateSplashScreen()
{
this.SplashScreen = new SpalshForm();
} - In Program.cs sostituire il metodo Main con:
[STAThread]
static void Main()
{
MyApplication application = new MyApplication();
application.Run(new string[] { });
}
In questa maniera verrà creata la Form1, e mentre questa verrà caricata verrà mostrata SplashForm (ovviamente sono due form che dovranno essere create). Se si vuole impostare un tempo minimo di visualizzazione per la splash basterà fare l’override anche di OnInitialize dentro a MyApplicationBase:
protected override bool OnInitialize(System.Collections.ObjectModel.ReadOnlyCollection
{
// Si visualizza per 3 secondi
this.MinimumSplashScreenDisplayTime = 3000;
return base.OnInitialize(commandLineArgs);
}
[Grazie a UgiDotNet]
Technorati tags: C#, .NET 2.0, SplashScreen











