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 :

  • Name = btnAnterior

  • DisplayStyle = Image

  • Image = Anterior.jpg

  • ImageScaling = None

  • Alignment = Left

  • ToolTipText = Exibe imagem Anterior

Button2 :

  • Name = btnProximo

  • DisplayStyle = Image

  • Image = Proximo.jpg

  • ImageScaling = None

  • Alignment = Right

  • ToolTipText = Exibe Próxima imagem

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.IO

A seguir no formulário vamos definir duas variáveis globais :

Dim Imagens() As String
Dim
contador As Integer
= 0

A 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:


José Carlos Macoratti