Desenvolvimento - C#

VS.NET 2005: Criando Splash com Efeito

Este artigo ensina como trabalhar com o Splash colocando efeitos agradáveis ao usuário final.

por Mauricio Junior



Olá pessoal, este artigo ensina como trabalhar com o Splash colocando efeitos agradáveis ao usuário final. A versão Visual Studio.NET usada é a 2005 com o framework 2.0. O exemplo é bem simples porém muito prático para o uso no dia a dia. O modelo usado foi criado para uma empresa brasileira e poderá te ajudar muito.

O primeiro passo é criar um projeto do tipo Windows Application e logo em seguida, criar um form com o nome FormSplash.cs.

Segue os pré-requisitos:

1 - Ferramenta Visual Studio.NET 2005
2 - Framework 2.0
3 - Linguagem C#.NET
4 - Componente Timer


Referência: 1.1

O componente que utilizarei é o Timer que serve para atualizar todo o momento a tela e com isso uso o Opacity para mudar o grau aparência da tela. Na tela de toolbox clique no componente Timer e arraste para o form. (Referência 1.2)


Referência: 1.2

Na referência 1.2, o primeiro componente é o Timer. Cliquei e arrastei para minha tela. (Referência 1.3)


Referência: 1.3

Note que agora o timer ficou junto a tela, cliquei em cima dele e fui em propriedades. Escolhi a forma Events onde possui o evento Tick, ao clicar duas vezes foi gerado um método onde programarei dentro. A referência 1.4 mostra como criar o Tick clicando duas vezes.


Referência: 1.4

Direto no código

Passando para o código, em poucas linhas darei a solução para todo o funcionamento. A primeira linha adicionada foi uma declaração de variável. (Referência 1.5)

private bool increase = true;

Referência: 1.5

Dentro do evento Tick adicionei o seguinte código: (Referência 1.6)

private void timer1_Tick(object sender, EventArgs e)
        {
            if (increase)
                this.Opacity += 0.02D;

            if (this.Opacity == 1)
            {
                increase = false;
                this.Close();
            }
        }
Referência: 1.6

Explicação:

Se a variável for "true", o form possui uma propriedade chamada Opacity que serve para mexer na estrutura do layout. Dessa forma, de tempo em tempo o time vai adicionando 0.02 ao Opacity. O mesmo vai aparecendo na tela de pouco em pouco, ou seja, começa bem transparente e vai seguindo até chegar igual a 1. Ao chegar igual a 1, a variável "increase" se torna "false" e é fechado o form automaticamente.

Pode ser usado para chamar outro form ou coisa parecida.

Ainda não acabou, falta programar o Load do form para que chame o componente Timer. (Referência 1.7)

private void Form1_Load(object sender, EventArgs e)
{
    timer1.Interval = 190;
    timer1.Tick += new EventHandler(this.timer1_Tick);
    timer1.Enabled = true;
    this.Opacity = 0;
}
Referência: 1.7

Explicação:

Coloquei o intervalo do timer igual a 190 para que funcione um pouco mais lento do que o normal. O mesmo vem atribuído automaticamente o valor de 100. Depois chamo via EventHandler o evento criado. E por final coloco o form Opacity igual a 0 para que não mostre nada ao iniciar.

Segue todo o código da classe para melhor entendimento. (Referência 1.8)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace SplashApplication
{
    public partial class Form1 : Form
    {
        private bool increase = true;
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (increase)
                this.Opacity += 0.02D;

            if (this.Opacity == 1)
            {
                increase = false;
                this.Close();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 190;
            timer1.Tick += new EventHandler(this.timer1_Tick);
            timer1.Enabled = true;
            this.Opacity = 0;
        }

        
    }
}

Referência: 1.8

Em funcionamento algumas telas serão mostradas.


Referência: 1.9


Referência: 1.10


Referência: 1.11

Bom esse foi o objetivo do artigo, mostrar que o form começa quase transparente e vai aumentando a resolução. Espero ter ajudado, qualquer duvida favor entrar em contato.

Mauricio Junior
www.mauriciojunior.org
www.aspneti.com

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org