Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET] Cancellare Pannelli e PictureBox

    Salve a tuuti,
    ho una form in cui ci sono (tra le altre cose) un Bottone e un Pannello. Alla pressione del Bottone l'utente sceglie quale Immagine caricare nel progetto (si apre la classica finestra "Apri File..") e questa viene poi visualizzata in maniera ridotta all'interno del Pannello.

    Man mano che l'utente clicca sul Bottone, le immagini caricate vengono accatastate nel pannello e questo senza limitazioni di numero.

    Per far visualizzare le immagini, alla pressione del Bottone scrivo il seguente codice che mi permette di creare e visualizzare all'interno del Pannelo principale un Pannello più piccolo con all'interno una PictureBox in cui carico l'immagine:

    codice:
    Dim Panel_Immagine As System.Windows.Forms.Panel
    Dim PictureBox_Immagine As System.Windows.Forms.PictureBox
    
    ' Genera il Pannello base dentro il PannelloImmagini Principale
    Panel_Immagine = New System.Windows.Forms.Panel
    Me.PannelloImmaginiVG.Controls.Add(Panel_Immagine)
    
    ' Genera la PictureBox dentro il Pannello base
    PictureBox_Immagine = New System.Windows.Forms.PictureBox
    Panel_Immagine.Controls.Add(PictureBox_Immagine)
    
    ' VISUALIZZA L'IMMAGINE CARICATA
    PictureBox_Immagine.Image = Image.FromFile(PercorsoImmagine & "/" & NomeImmagine)
    Fino a qui tutto bene... il problema nasce quando voglio "ripulire" il Pannello Principale che contiene all'interno i sotto pannelli con le PictureBox.

    Come faccio per eliminarle e non farle più vedere (in modo da procedere con una nuova immissione successiva)? Se uso la proprietà Visible e la pongo a "False" sparisce solo l'ultimo pannello inserito e non tutti!

    codice:
    Panel_Immagine.Visible = False
    Come si può fare?
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    Membro Junior L'avatar di xam85it
    Registrato dal
    Nov 2003
    Messaggi
    64

    deallocale

    dealloca il pannello/i ke devi eliminare con:
    pannelo = nothing
    oppure un metodo un po più cristiano è
    codice:
    dim item as system.componentmode.icomponent
    for each item in p.Container       
     p.Container.Remove(item)
    next
    così dovrebbe funzionare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.