Construindo uma SplashScreen em Windows Forms com C#

 

Olá pessoal, hoje demonstraremos uma forma de construirmos uma SplashScreen em Windows Forms com C#.

 

SplashScreen é aquela tela inicial de nossa aplicação, que é exibida para o usuário durante um certo tempo, enquanto carregamos algumas configurações, abrimos conexão, dentre outras rotinas necessárias na inicialização de nossa aplicação.

 

Para o nosso exemplo, crie uma nossa aplicação WindowsForms no VisualStudio. Altere o nome do formulário, que já criado por padrão junto com o projeto, para FrmPrincipal. Adicione um novo formulário ao projeto, este novo formulário será a nossa SplashScreen.

 

Renomei este formulário para FrmSplahScreen e adicione um componente PictureBox no mesmo. Carregue uma imagem qualquer no componente através de sua propriedade Image.

 

Altere a propriedade FormBorderStyle para none, para que nosso formulário não tenha bordas.

 

Agora, precisamos escrever o código para carregar o nosso formulário. Para isso, abra o arquivo principal de nosso projeto WindowsForms, o responsável por executar a aplicação. O arguivo Program.cs. Altere o mesmo de forma que fique como descrito abaixo:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

using System.Threading;

 

namespace WindowsFormsApplication1

{

    static class Program

    {

        /// <summary>

        /// The main entry point for the application.

        /// </summary>

        [STAThread]

        static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

 

            FrmSplashScreen frmSplash = new FrmSplashScreen();

           

            //Abre o formulário de apresentação           

            frmSplash.Show();

 

            //Processa todas as mensagens pendentes do windows.

            //Necessário para carregar a imagem do splash antes de executar o Application.Run

            Application.DoEvents();

 

            //Carregar configurações do usuário

            Thread.Sleep(1000);

            //Carrega configurações do banco de dados

            Thread.Sleep(1000);

            //Abre conexão com banco de dados

            Thread.Sleep(1000);

 

            //Fecha formulário de apresentação

            frmSplash.Dispose();

 

            //Inicia a aplicação com o FrmPrincipal

            Application.Run(new FrmPrincipal());

        }

    }

}

 

OBS: Vale ressaltar que usamos o sleep apenas para "simular" as operaçoes iniciadas no inicio da aplicação. Na verdade ao invés dos sleeps teriamos a execução de nossos métodos de inicialização de nossa aplicação como carga de valores padrões, de configurações etc...


É isso aí pessoal, vamos ficando por aqui, espero que tenham gostado e que as informações passadas sejam úteis no seu dia-a-dia.


Um grande abraço.
Ricardo Coelho.