sábado, 18 de dezembro de 2010

Tela de Splash em C#




O que vem ser uma Tela de Splash?


      É uma tela inicial uma imagem que aparece enquanto um programa de computador está a carregar. Também pode ser usado para descrever uma página de introdução em um website. Tela de Splash, normalmente  não cobrem toda a tela, mas apenas um retângulo perto do centro.
Fonte: Wikipedia


Nesse tutorial estaremos criando nossa Tela de Splash.
Entre no Visual Studio > File > New > Project
No name coloque TelaSplash e OK.
Como na imagem abaixo:



É gerado um formulário chamado form1.cs
Este formulário será o segundo a ser aberto (Form1.cs). Porque o Próximo será a nossa tela de Splash (Tela Inicial)
Então para isso precisamos adicionar outro Windows Form.
Em Solution Explorer clique com o botão direito em TelaSplash > Add> Windows Form.
Como na imagem:


Dê o nome de TelaSplash.cs e OK

Como na imagem:



Agora precisamos inserir a nossa imagem de fundo para isso clique no formulário e vá para suas propriedades procure pela BackgroundImage e clique no botão do lado e insira a foto.
Clique em import e procure pela sua imagem de preferência e clique em OK
Como na imagem:




Feito isso mude as propriedades abaixo:

- BackgroundImageLayout para Stretch.
- FormBorderStyle para None
- ShowinTaskbar para false
- Size para o tamanho que você preferir.
- StarPosition para CenterScreen.

Como na imagem:

Agora precisamos inserir uma ProgressBar ele ficara responsável por carregar o Sistema então arraste para o formulário.
Clique em ToolBox > Common Controls > ProgressBar e arraste para o formulário seu formulário ficara assim:

Aproveita para aumentar e/ou diminuir seu ProgressBar, a sua altura enfim você pode personalizar ele.
Mude as propriedades do ProgressBar a seguir:
- MarqueeAnimationSpeed para 1000
- Style para Contínuos.

Arraste para o formulário o campo Timer
Clique sobre ele e mude as propriedades
- Enable para True
- Interval para 32

Clique duas vezes no campo timer1 é gerado um evento:


Como na imagem:





Insira o código a seguir dentro das chaves:


Agora iremos fazer o evento fade in, aquele efeito de opacidade (O formulário inicia com uma opacidade baixa e vai aumentando ate ficar sem transparência).


Volte para o Design do formulário clique duas vezes sobre ele é gerado um evento Load:
Insira o Código a seguir:


A sua tela de Splash está pronta. Agora precisamos informar ao form1.cs que ela ira aparecer primeiro do que ele.

Volte para o form1.cs e clique F7 para ir ao Código.

Importe esta classe

using System.Threading;

e insira o Código abaixo:

no Form1()

    Thread t = new Thread(new ThreadStart(SplashScreen));
            t.Start();
            Thread.Sleep(5000);
            InitializeComponent();
            t.Abort();
        }
           
       //Criar o método SplashCreen
        public void SplashScreen()
        {
            Application.Run(new frmTela());
        }

Como segue a imagem:

Pronto! Sua tela de Splash estará funcionando perfeitamente aperte F5 e execute

Até Logo,

By Natanael.

Comente este Post!

A seguir o vídeo mostrando o programa sendo executado.

7 comentários:

  1. Eu faço tudo mais qundo chega na parte de colocar o comando entre as Chaves as Chaves nao aparecem!

    ResponderExcluir
  2. Cara, Vlew pela ajuda. Tava a uma semana atrás disso.
    Vlew msm.!!
    Ótimo tutorial.

    Bruno.

    ResponderExcluir
  3. ótimo tutorial
    ficou tudo bem claro
    só fiquei com uma duvida:
    No meu projeto coloquei uma imagem tipo giff animada
    só que quando executei NAO teve nenhuma animação.
    sabe qual o problema???

    ResponderExcluir
  4. http://www.vcskicks.com/csharp_animated_gif.php

    ResponderExcluir
  5. cara o meu está dando esses erros aqui:

    "Error 1 Expected class, delegate, enum, interface, or struct"

    "Error 2 Type or namespace definition, or end-of-file expected"

    Gostaria da sua ajuda...


    MUITO BOM O BLOG!!!!!


    ABRAÇO...

    ResponderExcluir
  6. aceita ae msn natan.boy17@hotmail.com ou natanaelsantosdf@hotmail.com

    ResponderExcluir
  7. Natanael, o blog é bom mesmo! mais me da uma ajuda ae...
    o meu fica dando alguns erros tipo:

    "Error 2 Type or namespace definition, or end-of-file expected"


    Error 2 'System.Threading.ThreadStart' does not contain a constructor that takes 0 arguments D:\Documents and Settings\Jhone\Configurações locais\Dados de aplicativos\Temporary Projects\Splash\Form1.cs 22 35 Splash

    estou adicionando seu msn: aseita ae o meu é

    jhonyfaiska@yahoo.com.br

    ResponderExcluir