Comment : définir des images au moment de l'exécution (Windows Forms)
Vous pouvez définir par programmation l’image affichée par un contrôle Windows Forms PictureBox .
Pour définir une image par programmation
Définissez la Image propriété à l’aide de la FromFile méthode de la Image classe.
Dans l’exemple ci-dessous, le chemin d’accès défini pour l’emplacement de l’image est le dossier Mes documents. Cette opération est effectuée, car vous pouvez supposer que la plupart des ordinateurs exécutant le système d’exploitation Windows incluront ce répertoire. Cela permet également aux utilisateurs avec des niveaux d’accès minimum au système d’exécuter l’application en toute sécurité. L’exemple ci-dessous suppose un formulaire avec un PictureBox contrôle déjà 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->Image = Image::FromFile(String::Concat( System::Environment::GetFolderPath( System::Environment::SpecialFolder::Personal), "\\Image.gif")); }
Pour effacer un graphique
Tout d’abord, relâchez 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 un problème.
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 la raison pour laquelle vous devez utiliser la Dispose méthode de cette façon, consultez Nettoyage des ressources non managées.
Ce code efface l’image même si un graphique a été chargé dans le contrôle au moment du design.
Voir aussi
.NET Desktop feedback