Please Enable JavaScript!
Gon[ Enable JavaScript ]

시샵(C#) OpenFileDialog 도구 이용해서 파일 대화상자 구현하기

기타 언어/C# & MFC
반응형

C# 에서 제공하는 OpenFileDialog 를 이용해 윈도우 Form 에 파일을 첨부하는 예제를 만들어 보겠습니다. OpenFileDialog 를 이용하면 간단하게 파일 선택 대화상자를 띄울 수 있으며, 파일에 관련된 모든 정보를 얻을 수 있습니다. 파일의 경로, 크기, 형식 등을 가져와서 활용합니다.

 

 

코드 작성하기

 

먼저 왼쪽 사이드에 도구 상자를 엽니다. 그리고 OpenFileDialog 를 드래그해서 윈도우 Form 에 추가합니다. OpenFileDialog 는 컨트롤이 아니기 때문에 화면에 나타나지는 않습니다.

 

다음은 추가한 OpenFileDialog 와 연결하고 선택한 값을 표시하기 위한 Button TextBox 를 추가합니다. 이것도 도구상자에서 해당 컨드롤을 찾아 드래그해서 추가합니다. 추가한 버튼의 클릭 이벤트 생성을 위해 더블 클릭합니다.

 

Form 소스에는 버튼 클릭 이벤트 함수가 생성되었습니다. 여기에 OpenFileDialog 와 연결해서 FileDialog 를 띄우기 위한 소스를 추가할 것입니다.

 

소스는 다음과 같습니다. 이전에 추가한 OpenFileDialog 객체를 생성하고 파일 대화상자 화면에 엑셀 파일만 보이도록 필터를 설정합니다. 엑셀 파일 필터는 다음과 같습니다. "Excel Files(*.xlsx;*.db)|*.xlsx;*.db"; OpenFileDialog Filter 변수에 추가합니다. 다음 ShowDialog() 함수로 파일 대화상자를 띄웁니다. 그리고 파일 대화상자를 닫으면 바로 아래 소스가 실행됩니다. 선택한 파일이 있는지 체크하고 버튼 왼쪽에 있는 TextBox에 파일명을 추가합니다.

 

OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.DefaultExt = "db";
openFileDlg.Filter = "Excel Files(*.xlsx;*.db)|*.xlsx;*.db";
openFileDlg.ShowDialog();
if (openFileDlg.FileName.Length > 0)
{
    foreach (string filename in openFileDlg.FileNames)
    {
        this.textBox1.Text = filename;
    }
}

  


 




 

 

작성한 코드 확인하기

 

지금까지 작성한 코드가 제대로 동작하는지 테스트해 보겠습니다. Form 화면에서 버튼을 클릭합니다. 화면에 나타난 파일 대화상자에서 엑셀 파일을 선택합니다.

 

파일 대화상자에 보시면 오른쪽 하단에 필터 박스를 볼 수 있습니다. 소스에서 Filter 에 입력한 대로 확장자가 xlsx db 파일만 보이도록 세팅이 되어 있습니다.

 

파일 대화상자에서 파일을 선택하고 창을 닫으면 TextBox 에 파일 전체 경로가 나타납니다.


 

반응형
Posted by 녹두장군1
,