Gewusst wie: Festlegen von Bildern zur Laufzeit (Windows Forms)
Sie können das von einem PictureBox-Steuerelement von Windows Forms angezeigte Bild programmgesteuert festlegen.
So legen Sie ein Bild programmgesteuert fest
Legen Sie die Image-Eigenschaft mithilfe der FromFile-Methode der Image-Klasse fest.
Im folgenden Beispiel ist der Pfad für den Speicherort des Bilds auf den Ordner „Eigene Dateien“ festgelegt. Dies geschieht, weil Sie davon ausgehen können, dass die meisten Computer, auf denen das Betriebssystem Windows ausgeführt wird, über dieses Verzeichnis verfügen. Dadurch können auch Benutzer mit minimalen Systemzugriffsebenen die Anwendung sicher ausführen. Im folgenden Beispiel wird ein Formular vorausgesetzt, dem bereits ein PictureBox-Steuerelement hinzugefügt wurde.
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")); }
So löschen Sie eine Grafik
Geben Sie zunächst den vom Bild belegten Arbeitsspeicher frei, und löschen Sie dann die Grafik. Die Garbage Collection gibt den Arbeitsspeicher später wieder frei, wenn die Speicherverwaltung zu einem Problem wird.
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; }
Hinweis
Weitere Informationen darüber, warum Sie die Dispose-Methode auf diese Weise verwenden sollten, finden Sie unter Bereinigen von nicht verwalteten Ressourcen.
Dieser Code löscht das Bild, auch wenn zur Entwurfszeit eine Grafik in das Steuerelement geladen wurde.
Weitere Informationen
.NET Desktop feedback