jueves 17 de septiembre de 2009

Ejemplo de trabajo con imágenes en Visual Basic .NET

No tengo ganas de escribir mucho pero en PAV 1 andamos con estas cosas:
Se trata de un formulario que carga distintas imágenes del disco local y las muestra en el form, luego se puede navegar entre las imágenes cargadas gracias a los eventos clic sobre las imágenes, después de programar bastante tiempo en PHP y en local sobre Java me llevo una gran sorpresa al ver la facilidad con la que Visual Basic .NET y todos sus amigos .NET tienen para el diseño de este tipo de aplicaciones(pero me quedo con lo que es gratis, todavía no lo se explicar pero después de investigar tanto y leer tantas cosas sobre las tecnologías gratuitas Visual Basic me parece que solamente tiene una forma de hacer las cosas y una sola forma de ejecutarse):

Una imagen vale mas que mil palabras (pero depuse nunca vienen mal unas líneas de código)
appvisuales

En este ejemplo hay varios componentes que deben ser agregados y correctamente nombrados:
Un botón que para este ejemplo se llama Button3
Un OpenFileDialog llamado ofd
Un TextBox llamado txt
Y cuatro PictureBox llamados picBLOB, picBLOB2, picBLOB3 y picBLOB4

Código Fuente:

Imports System.IO
Imports System.Drawing.Imaging

Public Class Form1

    Dim conta As Integer = 0

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ofd.FileOk

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If conta = 0 Then
            ofd.ShowDialog()
            txt.Text = ofd.FileName
            picBLOB.Image = Image.FromFile(txt.Text)
            picBLOB.BringToFront()
        End If
        If conta = 1 Then
            ofd.ShowDialog()
            txt.Text = ofd.FileName
            picBLOB2.Image = Image.FromFile(txt.Text)
            picBLOB2.Visible = True
            picBLOB2.BringToFront()
        End If
        If conta = 2 Then
            ofd.ShowDialog()
            txt.Text = ofd.FileName
            picBLOB3.Image = Image.FromFile(txt.Text)
            picBLOB3.Visible = True
            picBLOB3.BringToFront()
        End If
        If conta = 3 Then
            ofd.ShowDialog()
            txt.Text = ofd.FileName
            picBLOB4.Image = Image.FromFile(txt.Text)
            picBLOB4.Visible = True
            picBLOB4.BringToFront()
        End If
        If conta = 3 Then
            conta = -1
        End If
        conta = conta + 1
    End Sub

    Private Sub picBLOB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles picBLOB.Click
        picBLOB.Visible = True
        picBLOB.BringToFront()
        conta = 0
    End Sub

    Private Sub picBLOB2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles picBLOB2.Click
        picBLOB2.Visible = True
        picBLOB2.BringToFront()
        conta = 1
    End Sub

    Private Sub picBLOB3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles picBLOB3.Click
        picBLOB3.Visible = True
        picBLOB3.BringToFront()
        conta = 2
    End Sub

    Private Sub picBLOB4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles picBLOB4.Click
        picBLOB4.Visible = True
        picBLOB4.BringToFront()
        conta = 3
    End Sub

End Class