반응형
OpenFileDialog는 System.Windows.Forms 네임스페이스에서 사용할 수 있는 클래스이다. OpenFileDialog 인스턴스를 생성한 뒤 필요한 설정(확장자, 초기 디렉터리, 복수 선택 허용 등)을 적용한 뒤 ShowDialog()를 통해 Dialog를 표시한다.
아래 코드는 이미지 파일을 로드하는 코드이다.
OpenFileDialog를 통해 파일을 Load 한 뒤에는 반드시 Dispose()를 통해 리소스를 해제해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
try
{
//인스턴스 생성
OpenFileDialog ofd = new OpenFileDialog();
// 사용할 필터(확장자) 설정
List<string> filterList = new List<string>{
"Bitmap(*.bmp, *dib)|*.bmp;*.dib;",
"|JPEG(*.jpg, *.jpeg, *.jpe, *.jfif)|*.jpg; *.jpeg; *.jpe; *.jfif;",
"|TIFF(*.tif, *.tiff)|*.tif; *.tiff;", "|GIF(*.gif)|*.gif",
"|PNG(*.png)|*.png;" };
// 필터(확장자 적용)
foreach (string filter in filterList)
{ ofd.Filter += filter; }
// 또는 아래와 같이 한꺼번에 Supported Image File로 표시할 수 있다.
//ofd.Filter = "Supported Image File|*jpg;*.jpeg;*.bmp;*.png;*.dib;*.gif;*.tif;";
ofd.AddExtension = false; // 확장자 자동 추가
ofd.CheckFileExists = true; // 파일 존재하지 않을 경우 메시지 표시 여부
ofd.CheckPathExists = true; // 경로 존재하지 않을 경우 메시지 표시 여부
ofd.Multiselect = false; // 복수 선택
ofd.ShowHelp = true; // Help 버튼 표시 여부
ofd.ShowReadOnly = false; // 읽기 전용 체크박스 표시 여부
ofd.ReadOnlyChecked = false; // 읽기 전용항목 체크 여부
ofd.SupportMultiDottedExtensions = true; // 여러개의 확장자를 표시하는지 여부(저장시 또한)
ofd.Title = "Select an image..."; // 타이틀 표시
ofd.ValidateNames = true; // 파일명의 유효성 검증
//초기 디렉터리 -> 바탕화면으로 설정
ofd.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
if (ofd.ShowDialog() == DialogResult.OK) // 다이얼로그 표시
{
//Do Something
}
ofd.Dispose(); // OpenFileDialog 리소스 해제
}
catch(Exception err)
{
MessageBox.Show(err.ToString(), "Sample");
}
|
cs |
위와 같이 코드를 작성하면 아래 그림처럼 다이얼로그가 표시된다.
위 코드처럼 파일 확장자를 개별적으로 추가해야 아래의 파일 형식에서 보이는 것과 같이 각각 표시된다.
반응형
'프로그래밍 언어 > C#' 카테고리의 다른 글
[C#] 이미지 투명화(배경제거) - #2 (0) | 2021.04.14 |
---|---|
[C#] 이미지 투명화(배경제거) - #1 (0) | 2021.04.13 |
[C#] 바로가기 생성 방법 (0) | 2020.07.30 |
[C#] 파일 이동, 복사, 제거 방법 (0) | 2020.07.30 |
[C#] Eval 사용법 (0) | 2020.04.14 |
댓글