Jump to content

[C#] Tutorial SplashScreen


senito
 Share

Recommended Posts

Splash Screen

Para começar deve-se criar um novo projecto C# Windows Application (File -> New -> Project ->Visual C# Projects -> Windows Application). Dar um nome ao projecto, ex. SplashScreen.

Para já vamos deixar de lado o form actual e vamos adicionar outro form ao projecto. Para isso, é preciso ir a Project menu e clicar em Add Windows Form. Dar o nome de Splash.cs e clicar em OK.

O Visual Studio .NET criou um novo form. Agora vamos fazer uns ajustes nesse form. Colocar a FormBorderStyle como None, a StartPosition como CenterScreen, o ShowInTakbar como false.

Agora vamos à ToolBox e arrastamos uma PictureBox e inserimos uma imagem. Também pode ser feito através do BackgroundImage do form. Fica ao vosso critério.

Depois de inserir a imagem, colocar a propriedade do form TransparencyKey com a cor de fundo da imagem inserida.

Agora para que o Splash funcione temos que o inicializar antes do Form1. Para isso temos que adicionar algum código ao Form1.

Ir para o método Form1(). Este método é o construtor da class e é executado antes de qualquer outro método. Agora basta adicionar o seguinte código, depois da chamada do método InitializeComponent:

Thread th = new Thread(new ThreadStart(DoSplash));
th.Start();
Thread.Sleep(3000);
th.Abort();
Thread.Sleep(1000);

Adicionar o seguinte método DoSplash() no final do código do Form1.

private void DoSplash()
{
     Splash sp = new Splash();
     sp.ShowDialog();
}

Agora uma pequena explicação do que é feito aqui. Primeiro, declaramos uma thread e dizemos quanto é que executa o método DoSplash. A linha seguinte executa a thread. Agora a thread iniciada é executada juntamente com a aplicação principal. Para prevenir que o form principal aparece antes que a thread acabe, colocamos uma pausa de 2 segundos (um sleep de 3000 miliseconds). Para assegurar que a thread é finalizada, colocamos uma pausa de 1 segundo para “limpar”.

Agora vamos ver o que é feito no método DoSplash:

Foi declarado uma instância para a class Splash e é então que é visualizada. Quando é chamado o método abort da thread, todas as variáveis declaradas ou instanciadas são “eliminadas”.

Aqui fica um pequeno tutorial de como fazer um SplashScreen em C#.

Baseado em http://www.codersource.net/csharp_splash_screen.aspx

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.