none
Asignar Imagen de TabPage BackgroundImage a PictureBox RRS feed

  • Pregunta

  • Tengo un fromulario con un Control tab de 4 TabPages con imagen de fondo cada uno, y debo asignar cada imagen a 4 picturebox correspondientes de otro formulario al abrir (para efectos de seleccionar alguna)

             Private Sub frmElegirImagenes_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           

            Me.PictureBox1.Image = frmCustomerProfile.TabPage1.BackgroundImage
            Me.PictureBox2.Image = frmCustomerProfile.TabPage2.BackgroundImage
            Me.PictureBox3.Image = frmCustomerProfile.TabPage3.BackgroundImage
            Me.PictureBox4.Image = frmCustomerProfile.TabPage4.BackgroundImage
         

            End Sub

    Todos los tab tienen imagenes, pero no me muestra nada en las PictureBox...

    Alguna idea?



    Luis C



    jueves, 4 de marzo de 2021 0:31

Respuestas

  • Hola:
    Cambiando el ejemplo anterior, si se pone como Form de inicio el Form2, esto tambien funciona por lo que NO es necesario que el Form1 este abierto

    Public Class Form2

        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
            PictureBox1.Image = Form1.TabPage1.BackgroundImage
        End Sub
    End Class

    ¿Puedes poner como lo estas haciendo tu?

    Un saludo desde Bilbo
    Carlos
    jueves, 4 de marzo de 2021 21:08

Todas las respuestas

  • si los PictureBox están en un formulario distinto al del TabPages podría ser que el formulario contenedor de los picturebox se abre primero que el segundo formulario por eso como  tu codigo esta en el evento Load el segundo formulario a un no a iniciado como dije podría ser y también podría ser la forma en que estas asignando las imágenes a la propiedad BackgroundImage de los tabPages ya que estas usando el evento Load puede que el evento se ejecute primero que las asignaciones de imágenes  prueba a poner ese codigo en un botón y si se muestran las imágenes en los picturebox entonces es por  lo que describí antes se me hace que es por el evento load ya que este se ejecuta primero que todo
    • Editado DANTE-3D jueves, 4 de marzo de 2021 19:47
    jueves, 4 de marzo de 2021 19:46
  • Hola:
    El siguiente ejemplo que consta de 2 Forms.
    El primero tiene un tabpage con BackgroundImage y 1 Button.
    Al hacer click en el button, se abre otro form que contiene 1 PictureBox y se le pasa la imagen del TabPage
    El codigo es el siguiente

    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Using loForm As New Form2
                loForm._imagen = TabPage1.BackgroundImage
                loForm.ShowDialog()
            End Using
        End Sub
    End Class

    Public Class Form2
        Public Property _imagen As Image

        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
            PictureBox1.Image = _imagen
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    jueves, 4 de marzo de 2021 20:04
  • Hola:
    Cambiando el ejemplo anterior, si se pone como Form de inicio el Form2, esto tambien funciona por lo que NO es necesario que el Form1 este abierto

    Public Class Form2

        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
            PictureBox1.Image = Form1.TabPage1.BackgroundImage
        End Sub
    End Class

    ¿Puedes poner como lo estas haciendo tu?

    Un saludo desde Bilbo
    Carlos
    jueves, 4 de marzo de 2021 21:08
  • Private Sub frmElegirImagenes_Load(sender As Object, e As EventArgs) Handles MyBase.Load

            Me.PictureBox1.Image = frmCustomerProfile.TabPage1.BackgroundImage
            Me.PictureBox2.Image = frmCustomerProfile.TabPage2.BackgroundImage
            Me.PictureBox3.Image = frmCustomerProfile.TabPage3.BackgroundImage
            Me.PictureBox4.Image = frmCustomerProfile.TabPage4.BackgroundImage

            End Sub


    Luis C

    jueves, 4 de marzo de 2021 21:10
  • Hola:
    Segun lo que expones, es igual al segundo ejemplo que he puesto.
    En mi caso funciona correctamente, asi que no te puedo decir que porque NO te funciona

    P.D.

    Con el debugger mira a ver que valor tiene  frmCustomerProfile.TabPage1.BackgroundImage

    Un saludo desde Bilbo
    Carlos

    jueves, 4 de marzo de 2021 21:15
  • Hola,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    martes, 9 de marzo de 2021 18:03
    Moderador
  • basicamente nada dio resultado. Cambiamos la estrategia y cargamos las imagenes directo de la base de datos de SQL en el form2 (algo que queriamos evitar pues las imagenes ya estan cargadas en el form1 uno en los background de los tabpages, y solo pasarlas de ahi al form2)

    Luis C



    martes, 9 de marzo de 2021 18:05