Procedura: impostare le immagini in fase di esecuzione (Windows Form)

È possibile impostare a livello di codice l'immagine visualizzata da un controllo Windows FormPictureBox.

Per impostare un'immagine a livello di codice

  • Impostare la Image proprietà usando il FromFile metodo della Image classe .

    Nell'esempio seguente il percorso impostato per il percorso dell'immagine è la cartella Documenti personali. Questa operazione viene eseguita, perché è possibile presupporre che la maggior parte dei computer che eseguono il sistema operativo Windows includerà questa directory. Ciò consente inoltre agli utenti del sistema con livelli di accesso minimo di eseguire l'applicazione senza problemi. Nell'esempio seguente si presuppone che un modulo con un PictureBox controllo già aggiunto.

    Private Sub LoadNewPict()  
       ' You should replace the bold image
       ' in the sample below with an icon of your own choosing.  
       PictureBox1.Image = Image.FromFile _  
       (System.Environment.GetFolderPath _  
       (System.Environment.SpecialFolder.Personal) _  
       & "\Image.gif")  
    End Sub  
    
    private void LoadNewPict(){  
       // You should replace the bold image
       // in the sample below with an icon of your own choosing.  
       // Note the escape character used (@) when specifying the path.  
       pictureBox1.Image = Image.FromFile  
       (System.Environment.GetFolderPath  
       (System.Environment.SpecialFolder.Personal)  
       + @"\Image.gif");  
    }  
    
    private:  
       void LoadNewPict()  
       {  
          // You should replace the bold image
          // in the sample below with an icon of your own choosing.  
          pictureBox1->Image = Image::FromFile(String::Concat(  
             System::Environment::GetFolderPath(  
             System::Environment::SpecialFolder::Personal),  
             "\\Image.gif"));  
       }  
    

Per cancellare un elemento grafico

  • Prima di tutto, rilasciare la memoria usata dall'immagine e quindi cancellare l'immagine. La Garbage Collection libera la memoria in un secondo momento se la gestione della memoria diventa un problema.

    If Not (PictureBox1.Image Is Nothing) Then  
       PictureBox1.Image.Dispose()  
       PictureBox1.Image = Nothing  
    End If  
    
    if (pictureBox1.Image != null)
    {  
       pictureBox1.Image.Dispose();  
       pictureBox1.Image = null;  
    }  
    
    if (pictureBox1->Image != nullptr)  
    {  
       pictureBox1->Image->Dispose();  
       pictureBox1->Image = nullptr;  
    }  
    

    Nota

    Per altre informazioni sul motivo per cui usare il Dispose metodo in questo modo, vedere Pulizia delle risorse non gestite.

    Questo codice cancella l'immagine anche se un elemento grafico è stato caricato nel controllo in fase di progettazione.

Vedi anche