Поделиться через


Практическое руководство. Установка изображений во время выполнения (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;
    }
    
    t94wdca5.alert_note(ru-ru,VS.90).gifПримечание.

    Дополнительные сведения с описанием причины использования метода Dispose таким образом см. в разделе Очистка неуправляемых ресурсов.

    Этот код удалит изображение даже в том случае, если графический объект был загружен в элемент управления в режиме разработки.

См. также

Задачи

Практическое руководство. Загрузка изображения с помощью конструктора (Windows Form)

Практическое руководство. Изменение размера или размещения изображения во время выполнения (Windows Forms)

Ссылки

Общие сведения об элементе управления PictureBox (Windows Forms)

PictureBox

Image.FromFile

Другие ресурсы

Элемент управления PictureBox (Windows Forms)