Jak to zrobić, aby aplikacja, która ma typowo batchowe zadanie jednak coś wyświetliła? Można do niej dodać Splash screen. Proponuję wbudować go w metodzie Main klasy Program. Po pierwsze przygouj efekttownie wyglądające okno Splash. Jest to zwykła forma okienkowa, zazwyczaj z obrazkiem, może ze skromnym tytułem.
static class Program
{
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.DoEvents();
SplashForm splash = new SplashForm();
splash.Show();
splash.Refresh();
…. – tutaj wykonuja się inne długotrwałe zadania
splash.Close();
Oczywiście ten splash bez żadnej dodatkowej obsługi nie będzie się automatycznie odświeżał np w przypadku kiedy inne okno go odrysuje, nie będzie też odpowiadał na inne akcje z systemu Windows. Niemniej na chwilę zostanie wyświetlone zaprojektowane przez nas okienko, przez co damy użytkownikoi sygnał, że aplikacja się uruchamia, tylko po prostu chwilę to trwa…
Jeżeli chcesz zbudować zaawansowany Splash Screen, z własnym wątkiem to najlepiej zajrzyj tu http://www.codeproject.com/KB/cs/prettygoodsplashscreen.aspx.