Практическое руководство. Установка изображений во время выполнения (Windows Forms)
Можно программно задать изображение, отображаемое элементом управления PictureBox в Windows Forms.
Задание изображения программным способом
Задайте свойство Image с помощью метода FromFile класса Image.
В следующем примере в качестве расположения изображения выбрана папка "Мои документы", поскольку предполагается, что большинство компьютеров, работающих под управлением операционной системы Windows, содержат эту папку. Это также позволяет пользователям с минимальным уровнем доступа к системе безопасно запускать приложение. В приведенном ниже примере предполагается, что форма с элементом управления 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")); }
Очистка рисунка
Сначала освободите память, используемую изображением, а затем очистите рисунок. Если управление памятью станет проблемой, сборка мусора освободит память позже.
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; }
Примечание.
Дополнительные сведения о том, почему метод Dispose следует использовать таким образом, см. в статье Очистка неуправляемых ресурсов.
Этот код очистит изображение, даже если рисунок был загружен в элемент управления во время разработки.
См. также
.NET Desktop feedback