Dela via


Anvisningar: Ange bilder vid körning (Windows-formulär)

Du kan programmatiskt ange den bild som visas av en Windows Forms-PictureBox-kontroll.

Så här ställer du in en bild programmatiskt

  • Ange egenskapen Image med hjälp av FromFile-metoden för klassen Image.

    I exemplet nedan är sökvägen som angetts för platsen för avbildningen mappen Mina dokument. Detta görs eftersom du kan anta att de flesta datorer som kör Windows-operativsystemet innehåller den här katalogen. Detta gör det också möjligt för användare med minimala systemåtkomstnivåer att köra programmet på ett säkert sätt. Exemplet nedan förutsätter ett formulär med en PictureBox kontroll som redan har lagts till.

    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"));  
       }  
    

Så här rensar du en bild

  • Frigör först det minne som används av bilden och rensa sedan bilden. Skräpinsamling frigör minnet senare om minneshantering blir ett problem.

    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;  
    }  
    

    Notera

    Mer information om varför du bör använda metoden Dispose på det här sättet finns i Rensa ohanterade resurser.

    Den här koden rensar grafiken även om en bild lästes in i kontrollen vid designtillfället.

Se även