Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: taliban en 18 de Marzo 2014, 13:52

Título: insertar imagen en backgroundimage desde un openfiledialog Visual Basic
Publicado por: taliban en 18 de Marzo 2014, 13:52
hola , estoy intentando insertar una imagen como fondo en un programa consigo abrir el showdialog pero selecciono la foto y no se pone de fondo se que le faltan codigos pero no se cuales 

Código: [Seleccionar]
Private Sub SeleccionarUnaToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SeleccionarUnaToolStripMenuItem.Click
        Dim dlgabrir As OpenFileDialog

        dlgabrir = New OpenFileDialog
        dlgabrir.InitialDirectory = "C:\dos"
        dlgabrir.Title = "Selecciona la imagen que desea como fondo "
        dlgabrir.Filter = "Imagenes |*.bmp;*.gif;*.jpg"

        Me.BackgroundImageLayout = ImageLayout.Stretch
        dlgabrir.ShowDialog()
    End Sub

Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: Alex Rodríguez en 18 de Marzo 2014, 14:14
Hola, para insertar código pulsa primero el botón # del editor del foro y luego pega el código entre las etiquetas [ code]    [ / code].

¿Quieres que el usuario elija la imagen de fondo? ¿Y luego que la imagen sea el fondo del formulario?

¿Puedes poner el código completo?
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 18 de Marzo 2014, 14:41
si
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 19 de Marzo 2014, 11:25
Hola Alex esque no se ha que te refieres con el codigo completo ,
lo digo porque es bastante largo , esque estoy terminado un programa con base de datos, y me falta eso , gracias
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: Alex Rodríguez en 19 de Marzo 2014, 21:18
Me refería al código de la clase. Has puesto el código de un procedimiento o Sub que supongo estará dentro de una clase (class).
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: Fredo Alvite en 19 de Marzo 2014, 21:52
Yo he probado con este código y a mí me funciona:

Código: [Seleccionar]
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim dlgabrir As OpenFileDialog
        dlgabrir = New OpenFileDialog
        dlgabrir.InitialDirectory = "C:\Users\Acer\Pictures"
        dlgabrir.Title = "Selecciona la imagen que desea como fondo "
        dlgabrir.Filter = "Imagenes |*.bmp;*.gif;*.jpg"
        dlgabrir.ShowDialog()
        Me.BackgroundImage = Image.FromFile(dlgabrir.FileName)
    End Sub
End Class
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 22 de Marzo 2014, 00:33
gracias fredo me funcionó ahora voy a probar haber sidespués de reiniciar el programa si se guarda el fondoen la base de datos, supongo que complicado , gracias a todas las respuestas
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 23 de Marzo 2014, 13:59
hola he buscado por todos los sitios pero no consigo que cuando se reinicie el programa se guarde en la my.setting el backgroundimage he adjuntado dos imagenes de como lo he echo , gracias
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: Alex Rodríguez en 24 de Marzo 2014, 09:54
Pienso que lo puedes solucionar de la siguiente manera:

- Guarda la imagen actual en una variable, y a su vez guárdala en la base de datos, es decir, cada vez que la imagen cambie, guárdala en la base de datos.

- Cuando abras el programa inicializa la variable con el contenido que tenga en la base de datos.

De este modo si el programa se cierra, cuando se vuelva a abrir rescatará el valor que tenía la variable de la imagen al sacar el valor de la base de datos. Guardarlo simplemente como variable no funciona porque la memoria se pierde al cerrar el programa. Saludos.
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 24 de Marzo 2014, 18:11
hola Alex muchas gracias por ayudarme y contestarme , lo estoy probando pero no consigo hacerlo he probado creando una variable  y lo intento guardar en my.setting pero me da el error que muestro en la imagen , "menudo lio "
Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: Alex Rodríguez en 25 de Marzo 2014, 08:32
Otra opción que tienes si no estás utilizando base de datos o si no quieres meter una tabla para almacenar esa información, es guardar la información en un fichero. Es decir, creas un fichero que se llame imgname.txt y dentro de ese fichero guardas la ruta de la imagen. Cuando abres el programa, recuperas la ruta guardada desde ese fichero.

En las entregas (CU00329A-1) y (CU00329A-2) del curso de Visual Basic tienes indicado cómo se hace, y en las CU00330A y CU00331A tienes ejemplos.

Aquí tienes el link para acceder a las entregas: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Título: Re:insertar imagen en backgroundimage desde un openfiledialog
Publicado por: taliban en 27 de Marzo 2014, 13:14
muchas gracias Alex lo he echo con un picturebox porque con el backgroundimage me a sido imposible podia cambiar el backgroundimage pero no se me guardaba , un saludo y muchas gracias