본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - OpenFileDialog 파일열기 - 상세 ( 파일오픈 / 오픈다이얼로그 / CustomPlaces / InitialDirectory / Path / 폴더 / folder / Filter / 필터 / 확장자 / 위치 지정 / ofdlg / CheckFileExists / FileOk / ShowDialog )

728x90
반응형


 WPF & C# - OpenFileDialog 파일열기 - 상세 ( 파일오픈 / 오픈다이얼로그 / CustomPlaces / InitialDirectory / Path / 폴더 / folder / Filter / 필터 / 확장자 / 위치 지정 / ofdlg / CheckFileExists / FileOk / ShowDialog )



OpenFileDialog.zip





간단하게 사용할때


MainWindow.xaml.cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 파일 열기, OpenFileDialog
OpenFileDialog ofdlg = new OpenFileDialog();
{
    ofdlg.InitialDirectory = @"C:\driver";   // 기본 폴더
    ofdlg.Filter = // 필터설정
        "Video Files | *.mp4; *.wmv; *.avi" + "| " +
        "Excel Files |*.xls;*.xlsx";
 
    ofdlg.CheckFileExists = true;   // 파일 존재여부확인
    ofdlg.CheckPathExists = true;   // 폴더 존재여부확인
 
    // 파일 열기 (값의 유무 확인)
    if (ofdlg.ShowDialog().GetValueOrDefault())
    {
        lbl.Content = ofdlg.FileName;
    }
}
cs



주된 요소들 전체 다 포함 및 설명



CustomPlaces ( 플레이스 ) 지정 해서 출력한 내용





기본 폴더 위치 지정해서 열기




파일 Open 시 이벤트 출력




파일명 가져오기




확장자 필터 적용 예제




MainWindow.xaml.cs



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
// 파일 열기, OpenFileDialog
OpenFileDialog ofdlg = new OpenFileDialog();
{
    // 다이얼로그의 좌측 즐겨찾기(?) 에 바로가기가 표시된다.
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Contacts);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Cookies);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Desktop);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Documents);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Favorites);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.LocalApplicationData);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Music);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Pictures);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.ProgramFiles);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.ProgramFilesCommon);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Programs);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.RoamingApplicationData);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.SendTo);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.StartMenu);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Startup);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.System);
    ofdlg.CustomPlaces.Add(FileDialogCustomPlaces.Templates);
 
// 바로가기 위치 생성도 가능하다.
   FileDialogCustomPlace myPlace = new FileDialogCustomPlace(@"C:\driver");
   ofdlg.CustomPlaces.Add(myPlace);

    ofdlg.InitialDirectory = @"C:\driver";   // 기본 폴더 지정
    ofdlg.CheckFileExists = true;   // 파일 존재여부확인
    ofdlg.CheckPathExists = true;   // 폴더 존재여부확인
    ofdlg.Filter = // 필터설정 (주로 확장자 및 주요 파일을 필터로 설정함)
        "Video Files | *.mp4; *.wmv; *.avi" + "| " +
        "Excel Files |*.xls;*.xlsx";
 
    // 파일 선택 완료 시 이벤트
    ofdlg.FileOk += (s, a) =>
    {
        MessageBox.Show("Completed");
    };
 
    // 파일 열기 (값의 유무 확인)
    if (ofdlg.ShowDialog().GetValueOrDefault())
    {
        lbl.Content = ofdlg.FileName;
    }
}
cs




폴더열기


MainWindow.xaml.cs



1
2
3
4
5
System.Windows.Forms.FolderBrowserDialog fbdlg = new System.Windows.Forms.FolderBrowserDialog();
if (fbdlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    dir = fbdlg.SelectedPath;
}
cs






728x90
반응형