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

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

Per impostare un'immagine a livello di codice

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

    Nell'esempio qui di seguito, il percorso impostato per la posizione dell'immagine coincide con la cartella Documenti. Questa scelta è dovuta al fatto che si suppone che questa directory sia presente sulla maggior parte dei computer con sistema operativo Windows. Consente inoltre agli utenti con livelli minimi di accesso al sistema di eseguire l'applicazione in modo sicuro. Nell'esempio riportato di seguito si presuppone che un controllo PictureBox sia già stato aggiunto al form.

    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.get_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'immagine

  • Rilasciare innanzitutto la memoria utilizzata dall'immagine, quindi cancellare l'oggetto grafico. In caso di problemi di gestione della memoria, sarà possibile utilizzare successivamente la procedura di Garbage Collection.

    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 ulteriori informazioni sui motivi per i quali è preferibile utilizzare il metodo Dispose in questo modo, vedere Pulizia delle risorse non gestite.

    Con questo codice l'immagine verrà cancellata anche se è stata caricata nel controllo in fase di progettazione.

Vedere anche

Attività

Procedura: caricare un'immagine utilizzando la finestra di progettazione (Windows Form)

Procedura: modificare le dimensioni o la posizione di un'immagine in fase di esecuzione (Windows Form)

Riferimenti

Cenni preliminari sul controllo PictureBox (Windows Form)

PictureBox

Image.FromFile

Altre risorse

Controllo PictureBox (Windows Form)