나는 전체 스택 오버 플로우 전반에 걸쳐 수색,하지만 난 다음에 대한 답변을 찾을 수 없습니다 : 나는 닫습니다C#에서 OpenFileDialog를 삭제 하시겠습니까?
내 OpenFileDialog을 사용하고 있습니다 때, 나는 내 프로그램에서 사용하기 위해 차단됩니다 열려있는 파일까지를 내 프로그램. 따라서 이미지를 열면 더 이상 Windows Explorer에 해당 이미지를 바꿀 수 없습니다.
나는이 내 OpenFileDialog를를 배치하는 문제라고 생각합니다,하지만 난 그것을 해결하는 방법을 잘 모르겠어요 ...
내 코드 : 나는 using
블록이 해결할 것이라고 생각
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Title = "Open Image";
ofd.Filter = "PNG Image(*.png|*.png" +
"|GIF Image(*.gif|*.gif" +
"|Bitmap Image(*.bmp|*.bmp" +
"|JPEG Compressed Image (*.jpg|*.jpg";
if (ofd.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(ofd.FileName);
}
}
이 문제는 아니지만 ... 여전히 프로그램에서 사용됩니다. 픽처 박스에 이미지를로드하고 이미지를 다시 사용 가능하게하고 싶습니다 (이름을 바꿀 수 있고 바꿀 수 있습니다 ... 등).
고맙습니다. 나는 문자 그대로 당신의 코드 규칙을 복사했고 즉시 작업했습니다. 정말 고마워요! – Merlijn
죄송합니다. 내 대답이 잘못되었습니다. 복사 가능 코드가 없습니다. 오 잘, 나에게 많이 일어난다. Bitmap을 복제하는 것이 MemoryStream을 누출하는 것보다 더 나은 옵션이라고 생각합니다. 이는 코드 검토를 거치지 않고 심하게 주석을 달아야합니다. 당신이 언급 한 것처럼, 그것은 매우 직관력이 없습니다. –
@CodyGray +1을주었습니다.하지만 요점은 마지막 마일이 Chris (MemoryStream 클래스 사용)의 설명에 주어 졌다는 것입니다. 당신의 반응은 매우 "이론적"이었습니다. – xanatos