CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Desaparecer Picturebox

(1/1)

Sagma:
hola a todos, he realizado una aplicación que cuando digito el código de la persona, este me despliega los datos de dicha persona y también pongo su foto, esto en un picturebox. todo ok.  :P

Pero ...

cuando quiero ver otro dato de otra persona y su imagen, solo me despliega los datos y no asi la imagen o la foto.

me puse un boton cancelar, pero aun asi no se borra la imagen.

he usado el codigo siguiente.

--- Código: Text ---me.picturebox1.imagen = nothing de lo cual no se pierde la imagen, me lo sigue mostrando aunque este con otros datos.  :(


he tambien puesto el codigo:

--- Código: Text ---me.picturebox1.dispose en este caso me lo hace perder, pero, ya tambien no me muestra nada de nadita de lo que es las fotos o imagenes de las persona.  :blink:

gracias por su colaboración.  :comp:

Scherzo:
Hola, en teoría cuando haces un


--- Código: Text --- oPictureBox.Image = Nothing  
Debería limpiarte la imagen, prueba a añadir después un


--- Código: Text --- oPictureBox.Refresh()  
Por si acaso no te la estuviera refrescando.

En las pruebas que he hecho, con esto que te digo funciona sin problemas.

Y si quieres cambiar a otra imagen, con un


--- Código: Text --- oPictureBox.Load("C:\\ruta\\de\\la\\imagen\\imagen.jpg")  
La cargarías sin problemas.

Si no te funciona, pega el código si quieres, por si fuera otro el motivo por el que te está dando problemas y a lo mejor viéndolo lo detectamos.

Saludos

Sagma:
gracias por contestar, pero sigue todo igual.

fijate, con este código levanto los datos y a la vez llamo la imagen:


--- Código: Text ---     Private Sub txt_codigo_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_codigo.Leave         If IsNumeric(Me.txt_codigo.Text) Then            If Pint.existe(CInt(Me.txt_codigo.Text)) Then                Pint.datos(CInt(Me.txt_codigo.Text))                 Me.txt_codigo.Text = Pint.CodigoPintor                Me.cmb_mesa.SelectedValue = Pint.CodMesa                Me.cmb_asiste.SelectedValue = Pint.Asistio                Me.DateTimePicker1.Value = Pint.Fecha_Nac                Me.txt_nombre.Text = Pint.Nombre                Me.txt_direccion.Text = Pint.Direccion                Me.txt_quien.Text = Pint.Representa                Me.txt_telefono.Text = Pint.Telefono                Me.txt_celular.Text = Pint.Celular                Me.txt_cedula.Text = Pint.Cedula_Iden                Me.cmd_ciudadci.SelectedValue = Pint.Lugar_Cedula                Me.cmb_anfitrion.SelectedValue = Pint.CodAnfitrion                 ShowFilesInFolder()                Me.btn_aceptar.Enabled = False                Me.btn_modificar.Enabled = True             End If        End If     End Sub  
y con este código despliego o muestro la imagen:


--- Código: Text ---     Private Sub ShowFilesInFolder()        Dim file As String        Dim FI As FileInfo        Dim PBox As PictureBox, Img As Image        Dim Left As Integer = ThumbnailPadding        Dim Top As Integer = ThumbnailPadding        Dim ThispBox As Control        Dim ThumbWidth As Integer = 90   ''antes era 90        Dim ThumbHeight As Integer = 120 ''antes era 120         If PictureBox1.Controls.Count > 0 Then Exit Sub         Me.Invalidate()         'For Each file In Directory.GetFiles(DirListBox1.Path)        Try            FI = New FileInfo("c:\sagmasoft\fotos\pintores\" + CStr(Pint.CodigoPintor) + ".jpg")        Catch err As Exception            FI = New FileInfo("c:\sagmasoft\fotos\pintores\555.png")        End Try         If FI.Extension = ".gif" Or FI.Extension = ".jpg" Or _                    FI.Extension = ".bmp" Then            PBox = New PictureBox            'PBox.BorderStyle = BorderStyle.FixedSingle            PBox.SizeMode = PictureBoxSizeMode.CenterImage             If FI.Extension <> ".cdr" Then                Try                    Img = Image.FromFile(FI.FullName)                Catch err As Exception                    Img = Image.FromFile("c:\sagmasoft\fotos\pintores\555.png")                End Try            End If             If Left > PictureBox1.Width - PictureBox1.Left + ThumbnailPadding + ThumbWidth Then                Left = ThumbnailPadding                Top = Top + 10  '' antes era 80, ubicacion de la parte de arriba             End If            With PBox                .Left = Left                .Top = Top                .Width = 120 'Ubicacion del ancho hacia la derecha de la foto                .Height = 120 'Ubicacion de la foto en la parte superior TOP                .Image = CalculateThumbnailSize(Img, PBox.Width, PBox.Height)                .Visible = True                .Tag = FI.FullName                PictureBox1.Controls.Add(PBox)                AddHandler PBox.Click, New System.EventHandler(AddressOf OpenImage)                Left = Left + 124    '' antes era 74            End With         End If     End Sub  

 :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa