Freigeben über


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