Comment : définir des images au moment de l'exécution (Windows Forms)
Mise à jour : novembre 2007
Vous pouvez définir par programme l'image affichée par un contrôle PictureBox Windows Forms.
Pour définir une image par programme
Définissez la propriété Image à l'aide de la méthode FromFile de la classe Image.
Dans l'exemple ci-dessous, le chemin défini pour l'emplacement de l'image est le dossier Mes documents. La plupart des ordinateurs exécutant le système d'exploitation Windows disposent, en effet, de ce dossier. Ceci permet également aux utilisateurs disposant de niveaux d'accès minimaux au système d'exécuter l'application en toute sécurité. L'exemple suivant suppose un formulaire auquel un contrôle PictureBox a déjà été ajouté.
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")); }
Pour effacer un graphisme
Tout d'abord, libérez la mémoire utilisée par l'image, puis effacez le graphique. Le garbage collection libère la mémoire ultérieurement si la gestion de la mémoire devient problématique.
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; }
Remarque : Pour plus d'informations sur les raisons pour lesquelles il est recommandé d'utiliser la méthode Dispose de cette façon, consultez Nettoyage de ressources non managées.
Ce code efface l'image, et cela même si un graphisme a été chargé dans le contrôle au moment du design.
Voir aussi
Tâches
Comment : charger une image à l'aide du concepteur (Windows Forms)
Comment : modifier la taille ou l'emplacement d'une image au moment de l'exécution (Windows Forms)
Référence
Vue d'ensemble du contrôle PictureBox (Windows Forms)