Практическое руководство. Установка изображений во время выполнения (Windows Forms)
Обновлен: Ноябрь 2007
Имеется возможность задания рисунка, отображаемого элементом управления Windows Forms PictureBox, программными средствами.
Чтобы задать рисунок программными средствами
Задайте свойство 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.get_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 таким образом см. в разделе Очистка неуправляемых ресурсов.
Этот код удалит изображение даже в том случае, если графический объект был загружен в элемент управления в режиме разработки.
См. также
Задачи
Практическое руководство. Загрузка изображения с помощью конструктора (Windows Form)
Ссылки
Общие сведения об элементе управления PictureBox (Windows Forms)