• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

senito

[C#] Tutorial SplashScreen

9 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Atenção:

Não esquecer de por

using System.Threading;

.

De resto, está bem bom.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Continua a fazer tutoriais destes. Eu estou a tentar aprender C# sozinho,  isto ajuda e motiva bastante!

:P:D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso é para C# .. e para C++ ? Certos codigos sao diferentes... tais como o new = gcnew .... em vez de ' . ' costumas levar ' :: ', etc..

Nao estou a conseguir alterar isso para C++, agradecia alguma ajuda.. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acs, já viste a idade do post original? Era preferível enviares PM ao moderador da secção a pedir para identificar a fonte original como sendo esse site.

Either way, já lá está. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora