Procedura: Impostare immagini in fase di esecuzione (Windows Form)
È possibile impostare a livello di codice l'immagine visualizzata da un controllo PictureBox di Windows Forms.
Per impostare un'immagine a livello di codice
Impostare la proprietà Image utilizzando il metodo FromFile della classe Image.
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 anche agli utenti con livelli di accesso minimi al sistema di eseguire l'applicazione in modo sicuro. Nell'esempio seguente si presuppone che un modulo abbia già un controllo PictureBox 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. Il processo di Garbage Collection libererà la memoria più tardi se la gestione della memoria dovesse diventare 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 sui motivi per cui usare il metodo Dispose 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.
Vedere anche
.NET Desktop feedback