ahora bien, se creara un form con un TextBox que corresponderá con el nombre de la imagen, luego añadimos un RichTextBox en el cual se introducen los comentarios y por ultimo añadimos un PictureBox para mostrar la imagen que se ha cargado.
mi diseño quedo así, luego al entender el código podrán crear lo que les venga en gana, pero para el fin de ingresar la imagen en mi caso es mas que suficiente, como recomendacion, a las propiedades del PictureBox modifiquen el Size Mode de la imagen a presentar a StrecthImage para que la imagen no importando el tamaño se ajuste a las dimensiones que tenga nuestro PictureBox
El Label3 lo utilizo para mostrar la ruta de la imagen, hay otras formas pero lo hice así para explicar mejor y poder ocultarlo en caso lo necesite, ahora, en el código utilizare OpenFileDialog, según MSDN:
El componente OpenFileDialog de los formularios Windows Forms es un cuadro de diálogo preconfigurado. Es el mismo cuadro de diálogo Abrir archivo que expone el sistema operativo de Windows, además el objeto stream es el archivo que se está abriendo, es un flujo binario.
Para el caso del código, el evento Button1_click se encarga de buscar y cargar la imagen en el PictureBox1,
empieza buscando en el directorio C:
.InitialDirectory = "c:\"
ademas solo toma archivos de imagen
.Filter = "JPG(*.jpg)|*.jpg|PNG(*.png)|*.png|GIF(*.gif)|*.gif|Todos(*.Jpg, *.Png, *.Gif, *.Tiff, *.Jpeg, *.Bmp)|*.Jpg; *.Png; *.Gif; *.Tiff; *.Jpeg; *.Bmp"
en caso de no cumplir con esto aparecerá:
MessageBox.Show("Favor seleccione una imagen para cargar")
y el evento Button2_Click se encarga de guardar los datos en la base, nada nuevo así que aquí está el código:
Imports System.Data.SqlClient
Imports System.Data.Sql
Imports System.IO
Public Class Form1
Dim myStream As Stream = Nothing
Dim picture As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim abrir As New OpenFileDialog
With abrir
.InitialDirectory = "c:\"
.Filter = "JPG(*.jpg)|*.jpg|PNG(*.png)|*.png|GIF(*.gif)|*.gif|Todos(*.Jpg, *.Png, *.Gif, *.Tiff, *.Jpeg, *.Bmp)|*.Jpg; *.Png; *.Gif; *.Tiff; *.Jpeg; *.Bmp"
.Title = "pon la foto"
.FilterIndex = 1
.RestoreDirectory = True
End With
If (abrir.ShowDialog = DialogResult.OK) Then
Try
myStream = abrir.OpenFile()
If (myStream IsNot Nothing) Then
Dim dir As String = abrir.FileName
Label4.Text = dir
picture = New Bitmap(dir)
With PictureBox1
.Image = picture
.SizeMode = PictureBoxSizeMode.StretchImage
.BorderStyle = BorderStyle.Fixed3D
End With
End If
Catch Ex As Exception
MessageBox.Show("Favor seleccione una imagen para cargar")
Label4.Text = ""
Finally
If (myStream IsNot Nothing) Then
myStream.Close()
End If
End Try
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sqlaux As String
sqlaux = "insert into img(nombre, comentarios, ruta) values ('" & TextBox2.Text & "','" & RichTextBox1.Text & "','" & Label4.Text & "')"
Try
cnn.Open()
Dim oCommand As New SqlCommand(sqlaux, cnn)
Dim lnResult As Integer
lnResult = oCommand.ExecuteNonQuery()
cnn.Close()
MessageBox.Show("Recuerdo agregado exitosamente", "GMB")
cnn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "ha habido un problema")
End Try
End Sub
End Class