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 에 파일 전체 경로가 나타납니다.
'기타 언어 > C# & MFC' 카테고리의 다른 글
시샵 C# CSV 파일 저장 클래스 StreamWriter 한글 깨짐 현상 (1) | 2024.06.23 |
---|---|
시샵 C# ListView 데이터 추가시 첫 열에 추가하는 다양한 방법 (3) | 2024.04.02 |
시샵 C# DataSet 에 값 셋팅과 읽기 오기 위한 여러가지 방법 (3) | 2024.03.04 |
C# 개발 추가 Net Framework, Net Core 설치하기 (1) | 2023.12.31 |
C# 윈폼(WinForm) 프로젝트에서 콘솔창(console) 띄워서 로그 보는 방법 (0) | 2023.12.27 |
시샵(C#) 폼(From) 띄우기와 닫기 (1) | 2023.12.20 |
시샵 C# 파일경로에서 확장자, 파일명, 경로 추출하는 함수와 예제 (2) | 2023.10.22 |
시샵 C# 리스트뷰(ListView) 컨트롤 선택한 데이터 가져오기 (0) | 2023.09.18 |