방법: 런타임에 그림 설정(Windows Forms)
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->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 메서드를 사용해야 하는 이유에 대한 자세한 내용은 관리되지 않는 리소스 정리를 참조하세요.
이 코드는 디자인 타임에 그래픽이 컨트롤에 로드된 경우에도 이미지를 지웁니다.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET Desktop feedback