Hi Andrew,
If you look in the archives you will see some simples ways of doing a splash
screen, below you will find the code I'm using and it works fine.
You can say that the trick is show the form in the Main() method. this
assure that the splash is shown as early as possible
Hope this help,
--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation
//************* The main form START CODE *************////////
public Form1()
{
InitializeCompo nent();
//This is the reason of the splash screen, to load data in the back :)
DataProvider.Lo adData();
splashform.Clos eIt();
}
[STAThread]
static void Main()
{
splashform = new splash();
Application.Run (new Form1());
}
//************* The main form END CODE *************////////
Below is the code for the splash window, only the code important to it is
shown, the rest is the regular code found in a windows form
//************* The splash form START CODE *************////////
DateTime time;
public splash()
{
//
// Required for Windows Form Designer support
//
InitializeCompo nent();
// Show the splash screen
Show();
//To know how many time it has been displayed
time = DateTime.Now;
Application.DoE vents();
}
public void CloseIt()
{
TimeSpan T = DateTime.Now - time;
// if the method was closed before a specific amount of time, wait for the
different and later close the form.
if (T.Milliseconds <3000)
System.Threadin g.Thread.Sleep( 3000-T.Milliseconds) ;
this.Close();
}
//************* The splash form END CODE *************////////
"andrewcw" <an******@acw.c om> wrote in message
news:80******** *************** ***********@mic rosoft.com...
I implemented the simplest of splash screens ( static and on its own
thread ). But it seem that when first called maybe 8 seconds elapsed before
it showed up, the main form follows several seconds later.
Naturally recalling the application, the response is adequate.
I have 10 classes in my project. Some small, none really huge. And another
form.
public class frmQCLoader : System.Windows. Forms.Form
{
private System.Windows. Forms.DataGrid QCDG;
private System.Windows. Forms.Button btnLoad;
private System.Windows. Forms.Button btnInstall;
... 2 of my classes
more native controls
public frmQCLoader()
{
// Required for Windows Form Designer
support frmStatic.ShowS taticForm(); // SO ITS FIRST in the STACK
Is is likely the considerable delay is called by instantiating my classes
for referencing throughout the form and if so, is there a way to around this ? Thanks