 VB .NET -  Criando um Slide Show (para novatos)
 
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
 
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 Facebook
  
 Compartilhe no Twitter
 
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