Language/C# WPF

[C#] OpenFileDialog 활용하여 파일 선택하기

멱군 2023. 9. 22. 02:32

C#을 사용하다보면 파일을 선택하거나 불러오는 작업이 필요할 때가 많습니다. 이럴 때 사용하는 기능 중 하나가 OpenFileDialog입니다. 이번 글에서는 OpenFileDialog의 기본 사용법과 주요 기능들에 대해 자세히 알아보겠습니다.

 

1. OpenFileDialog의 기본 사용법

OpenFileDialog myOpenFileDialog = new OpenFileDialog();

위 코드는 OpenFileDialog의 인스턴스를 생성합니다.

 

2. 기본 설정 값 지정하기

DefaultExt: 기본 확장자명을 설정합니다.

myOpenFileDialog.DefaultExt = "*.*";

 

InitialDirectory: 처음에 표시될 디렉토리를 설정합니다. 기본값은 "내 문서"입니다.

myOpenFileDialog.InitialDirectory = ".";

 

Filter: 선택 가능한 파일의 확장자를 설정합니다. 각 확장자는 "|"로 구분합니다.

myOpenFileDialog.Filter = "exe files (*.exe)|*.exe|All files (*.*)|*.*";

 

FilterIndex: 대화상자에서 기본으로 선택될 파일 유형의 인덱스를 설정합니다.

myOpenFileDialog.FilterIndex = 1;

 

RestoreDirectory: 대화상자를 닫을 때 원래의 디렉토리로 복귀할지 여부를 설정합니다.

myOpenFileDialog.RestoreDirectory = true;

 

3. 선택된 파일 정보 가져오기

FileName: 선택한 파일의 전체 경로와 파일명을 반환합니다.

string strProgrampath = myOpenFileDialog.FileName;

 

SafeFileName: 선택한 파일명만 반환합니다.

string strProgram = myOpenFileDialog.SafeFileName.Substring(0, myOpenFileDialog.SafeFileName.Length - 4);

 

결론

위의 내용을 토대로 예시 소스를 작성하면 다음과 같습니다.

OpenFileDialog myOpenFileDialog = new OpenFileDialog();
    myOpenFileDialog.DefaultExt = "*.*";
    myOpenFileDialog.InitialDirectory = ".";
    myOpenFileDialog.Filter = "exe files (*.exe)|*.exe|All files (*.*)|*.*";
    myOpenFileDialog.FilterIndex = 1;
    myOpenFileDialog.RestoreDirectory = true;
    if (myOpenFileDialog.ShowDialog() == DialogResult.OK)
    {
    	// 사용자가 선택한 파일의 전체 경로를 가져옵니다.
        string strProgrampath = myOpenFileDialog.FileName; 
        
        // 선택한 파일의 확장자를 제외한 이름을 가져옵니다.
        string strProgram = myOpenFileDialog.SafeFileName.Substring(0,myOpenFileDialog.SafeFileName.Length - 4);
    }

 

OpenFileDialog를 활용하면 사용자에게 파일 선택의 편의성을 제공할 수 있습니다. 기본 설정을 통해 선택 가능한 파일 유형이나 초기 디렉토리를 지정할 수 있고, 선택된 파일의 정보를 다양한 방식으로 가져올 수 있습니다. C#에서 파일 관련 작업을 할 때 OpenFileDialog는 꼭 알아두면 좋은 기능 중 하나입니다.