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.