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 JuniorO 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