Porady: ustawienie obrazów w czasie wykonywania (Formularze systemu Windows)
Obraz wyświetlany przez kontrolkę Formularze PictureBox systemu Windows można ustawić programowo.
Aby programowo ustawić obraz
Image Ustaw właściwość przy użyciu FromFile metody Image klasy .
W poniższym przykładzie ścieżka ustawiona dla lokalizacji obrazu to folder Moje dokumenty. Dzieje się tak, ponieważ można założyć, że większość komputerów z systemem operacyjnym Windows będzie zawierać ten katalog. Dzięki temu użytkownicy z minimalnymi poziomami dostępu systemu mogą bezpiecznie uruchamiać aplikację. W poniższym przykładzie przyjęto założenie, że formularz z już dodanym formantem PictureBox .
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")); }
Aby wyczyścić grafikę
Najpierw zwolnij pamięć używaną przez obraz, a następnie wyczyść grafikę. Odzyskiwanie pamięci zwolni pamięć później, jeśli zarządzanie pamięcią stanie się problemem.
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; }
Uwaga
Aby uzyskać więcej informacji na temat tego, dlaczego należy użyć Dispose metody w ten sposób, zobacz Czyszczenie niezarządzanych zasobów.
Ten kod wyczyści obraz, nawet jeśli grafika została załadowana do kontrolki w czasie projektowania.
Zobacz też
.NET Desktop feedback