Jump to content
senito

[C#] Tutorial SplashScreen

Recommended Posts

senito

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

Share this post


Link to post
Share on other sites
karva

Atenção:

Não esquecer de por

using System.Threading;

.

De resto, está bem bom.


Proud LEIC-A@IST student!

Share this post


Link to post
Share on other sites
Hipnoted

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

:P:D


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
aMeScAS

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.. :)

Share this post


Link to post
Share on other sites
djthyrax

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á. :)


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
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

×
×
  • 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.