The article describes creating a simple splash screen in C#. The intent of this article is to create a simple quick splash screen in a separate thread.

Lot of code is available to build fancy looking splash screens with lot of animation. I have not spent time adding animation, etc. I just took a simple picture for splash screen over which a status message is displayed along with the progress bar in marquee mode. A good thing which I learnt was to make the label's background transparent when overlaying over the picture box control.

Additionally I have created the splash screen in a separate thread and calls for updating the splash screen status are thread safe using BeginInvoke. I have seen people preferring splash screen in a separate thread and some in the main thread. In my opinion, it's better to create it in a separate thread and expose some functions which can be called by the main thread to show/hide/update the splash screen.