3

In my application it takes some time to loan my initial screen(1-2 mins). Since it has so many controls to be filled by Database.

So I need to have a splash screen, it will load(probably with a progress bar) and stays while main form loads. Means in background I need to load main form (better with out showing)

Only main window finishes loading, it notifies to splash, the splash will go off and main will be visible.

I tried to achieve above with several way but no success.

Any one can help me ?

Buddhi Dananjaya
  • 633
  • 2
  • 11
  • 30

4 Answers4

3

look at this Splash screen

and this Splash screen class

Serghei
  • 3,861
  • 2
  • 20
  • 34
1
FormSplash splash = new FormSplash();

this.BeginInvoke(
    new MethodInvoker(
        () =>
        {
            splash.Show();
        }
    )
);

// main form code here

// at end of loading code
splash.Close();

The above code belongs in Form_Load of the main form.

Nahydrin
  • 12,719
  • 12
  • 58
  • 96
0

There are a couple of good approaches discussed at Show a splash screen at once (in fact to me this and the other question appear to be duplicates).

Community
  • 1
  • 1
Hugh W
  • 280
  • 1
  • 6
  • 21
0

The best way and using the API is

  SplashScreen splash = new SplashScreen("splashscreen.jpg");
  splash.Show(false);
  splash.Close(TimeSpan.FromMilliseconds(2));
  InitializeComponent();
Carlo V. Dango
  • 12,597
  • 15
  • 67
  • 110