VB .NET - Criando um Slide Show (para novatos)
Neste tutorial vou mostrar como criar um slide show básico usando a linguagem VB .NET em uma aplicação Windows Forms. |
Este é um artigo para quem esta iniciando na linguagem VB .NET e mostra como usar os controles ToolStrip , MenuStrip, FolderBrowserDialog, Timer e PictureBox para criar uma exibição de imagens como slides.
O projeto é bem simples mas ensina conceitos básicos da linguagem e como trabalhar com os controles citados que são muito usados em aplicações Windows Forms.
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando o projeto no VS Community e definindo a interface
Abra o VS Community e clique em New Project;
Selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome da solução como Slide_Show e clique no botão OK;
A seguir no formulário form1.vb arraste a partir da ToolBox um controle ToolStrip e defina sua propriedade dock igual a bottom;
A seguir inclua dois Buttons no controle ToolStrip, e, na janela de propriedades dos itens defina as seguintes propriedades para os buttons:
Button1 :
|
Button2 :
|
Inclua um controle Timer no formulário e defina sua propriedade Interval igual a 5000 (5 segundos) e Enabled = False
Inclua também um controle PictureBox no formulário e defina Dock in Parent Containter e sua propriedade Name=picImagem e a propriedade Size Mode igual a CenterImage:
Finalmente inclua um controle MenuStrip e inclua um item chamado Imagens e dois Itens de menu : Carregar (name= mnuCarregar) e Sair (name=mnuSair)
O leiaute do formulário deverá ficar como o da figura abaixo:
Crie uma pasta chamada Imagens no projeto clicando com o botão direito do mouse sobre o projeto e a seguir em Add -> New Folder e informando o nome Imagens.
A seguir inclua as imagens que deseja exibir no slide show nesta pasta.
Nota: Podemos também acessar uma pasta do arquivo de sistema que contenha imagens para exibi-las.
Implementando o Slide Show
Vamos agora definir o código que irá dar vida a nossa aplicação criando a exibição de imagens.
Defina o seguinte namespace no formulário form1.vb :
Imports
System.IOA seguir no formulário vamos definir duas variáveis globais :
Dim Imagens() As StringA variável Imagens() é um array de strings onde iremos armazenar o nome e caminho das imagens que vamos exibir e a variável contador é apenas um contador.
1- No evento Click do item de menu Carregar vamos carregar as imagens que desejamos exibir
Private Sub mnuCarregar_Click(sender As Object, e As EventArgs) Handles mnuCarregar.Click Dim fbd1 As New FolderBrowserDialog fbd1.Description = "Selecione uma pasta para exibir imagens" fbd1.RootFolder = Environment.SpecialFolder.MyComputer fbd1.ShowNewFolderButton = True 'Exibe a caixa de diálogo If fbd1.ShowDialog = DialogResult.OK Then 'Carrega as imagens na pasta selecionada CarregaImagens(fbd1.SelectedPath) End If End Sub |
Este método usa o controle FolderBrowserDialog para que o usuário escolha a pasta a partir de onde iremos acessar e exibir as imagens usando o método CarregaImagens() cujo código é visto abaixo:
Private Sub CarregaImagens(ByVal pasta As String) Imagens = Directory.GetFiles(pasta, "*.jpg") picImagem.Image = Image.FromFile(Imagens(0)) Timer1.Enabled = True End Sub |
Neste código carregamos os nomes e caminhos das imagens usando o método GetFiles() da classe Directory e exibimos a primeira imagem no controle PictureBox. Temos que ativar o timer para acionar o slide show.
2- No evento Tick do controle Timer , que será disparado a cada 5 segundos, temos o código que incrementa o contador, lê e exibe a próxima imagem do array Imagens():
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick contador += 1 If Imagens.Length = contador Then contador = 0 End If picImagem.Image = Image.FromFile(Imagens(contador)) End Sub |
3- Evento Click do botão btnProximo do ToolStrip inclua o código abaixo:
Private Sub btnProximo_Click(sender As Object, e As EventArgs) Handles btnProximo.Click Timer1.Enabled = False contador += 1 If Imagens.Length = contador Then contador = 0 End If picImagem.Image = Image.FromFile(Imagens(contador)) Timer1.Enabled = True End Sub |
Neste código desabilitamos o timer , incrementamos o contador e exibimos a próxima imagem no controle PictureBox e a seguir ativamos novamente o timer.
4- Evento Click do botão btnAnterior do ToolStrip
Private Sub btnAnterior_Click(sender As Object, e As EventArgs) Handles btnAnterior.Click Timer1.Enabled = False If contador = 0 Then contador = Imagens.Length End If contador -= 1 picImagem.Image = Image.FromFile(Imagens(contador)) Timer1.Enabled = True End Sub |
Neste código desabilitamos o timer , e verificamos se o contador é igual a zero (se for atualizamos o seu valor) , depois decrementamos o contador e exibimos a imagem anterior no controle PictureBox e a seguir ativamos novamente o timer.
5- Evento Click do item de menu Sair (mnuSair) do MenuStrip
Private Sub mnuSair_Click(sender As Object, e As EventArgs) Handles mnuSair.Click If (MessageBox.Show("Deseja encerrar o programa ?", "Sair", MessageBoxButtons.YesNo) = DialogResult.Yes) Then Application.Exit() End If End Sub |
Executando o projeto iremos obter o seguinte resultado:
Você notou que eu não realizei um tratamento de erros neste projeto ?
Isso não é nada bom, então que tal usar o bloco Try/Catch e realizar um tratamento de erros no projeto ? (veja as referências)
pegue o projeto completo aqui : Slide_Show.zip
Então disse Jesus aos seus
discípulos: Se alguém quiser vir após mim, renuncie-se a si mesmo, tome sobre si
a sua cruz, e siga-me;
Porque aquele que quiser salvar a sua vida, perdê-la-á, e quem perder a sua vida
por amor de mim, achá-la-á.
Mateus 16:24,25
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Tratamento de erros usando Try-Catch-Finally - Macoratti.net