1. FileDialog의 구현 및 설명
1-1. 설명
1-2. 기능
1-3. 사용 방법
1-3-1. 사용 방법
1-3-2. 프로젝트에 적용하는 방법
IEC-Series 장치에서 FileDialog(하나 이상의 파일을 지정하여 열수 있는 공용 대화 상자 기능) 수행을 구현한 프로그램입니다.
1-2. 기능
- 하위 폴더 포함 검색 경로 지정 가능 (Flash Disk, USB, SD Card)
- 검색어 지정하여 검색 가능
- 검색 결과 리스트 더블 클릭 시 선택 파일 이름과 확장자 표시
- [STEP-1] [메인 화면] 파일 경로(Flash Disk, USB, SD Card) 지정 가능
- [STEP-2] [검색 결과 리스트 화면] 선택된 저장 장치 위치에서 확장자 검색 기능 제공, 하위 폴더 자동 검색, 검색어란이 공란일 경우 파일 전체(*.* )를 검색합니다.
- [STEP-3] [키보드 입력창] 검색창 클릭 시 검색어 입력창 표시. 원하는 파일명, 확장자명을 입력 후 완료 버튼 클릭
- [STEP-4] [검색 결과 리스트 화면] Find 버튼 클릭
- [STEP-5] [리스트 화면] 리스트 선택 후 더블 클릭 시 해당 리스트의 파일 이름, 파일 확장자 표시
- [STEP-1] 첨부파일 TechNote67_Example.zip를 다운로드 받고 압축 해제
- [STEP-2] TechNote67_Example.zip의 압축 해제 시 폴더 구조
압축을 풀면 CS 폴더와 VB 폴더로 나누어지며 IEC 제품에 따라 다음과 같이 분류됩니다. 각각의 폴더 내부에는 Copy_Files라는 폴더가 존재하고 기존 항목에서 가져올 파일들이 위치합니다.
CS 폴더 VB 폴더 IEC667-Series 프로젝트 IEC667Series_CS\Copy_Files IEC667Series_VB\Copy_Files IEC1000-Series 프로젝트 IEC1000Series_CS\Copy_Files IEC1000Series_VB\Copy_Files
- [STEP-3] 기존 프로젝트(SmartDeviceProject1)에 예제 소스(FileDialog)의 폼을 추가
[1. 기존 항목 추가]
기존 프로젝트에서 [추가] → [기존 항목]을 선택합니다.
[2. Copy_Files에 있는 파일을 추가]
TechNote67_Example\IEC1000Series_CS(VB)\Copy_Files 폴더의 파일을 기존 프로젝트에 추가
[추가할 폴더의 내부 모습]
[기존 프로젝트에 검색 폼(FileDialogEx)가 추가된 모습]참고"FileDialogEx가 추가된 다음 SmartX 관련 형식이 정의되지 않았습니다."라는 에러 메시지가 출력되는 경우 SmartXCommon.dll 파일을 참조에 추가해 주시기 바랍니다. 보다 자세한 내용이 궁금하신 경우 "Tech Note의 29. Visual Studio의 폼 디자이너 화면에서 오류가 발생하는 경우 해결 방법"을 참고 바랍니다.
- [STEP-4] MainForm에서 FileDialogEx Form을 호출하는 코드
FileDialogEx frmFileDialog;
// 키워드에 따른 특정 경로의 파일 리스트를 검색하는 폼을 호출
private void btnShowFileDialog_Click(object sender, EventArgs e)
{// File Dialog 검색창 생성}
frmFileDialog = new FileDialogEx();
// File Dialog 검색창 호출
if frmFileDialog.ShowDialog() == DialogResult.OK)
{
// 파일 경로 얻기}
labFilePath.Text = frmFileDialog.SelectFileInfo.strPath;
// 파일 이름 얻기
labFileName.Text = frmFileDialog.SelectFileInfo.strFileName;
// 파일 확장자 얻기
labFileExtension.Text = frmFileDialog.SelectFileInfo.strFileExtension;
else
{
SmartX.SmartMessageBox.Show("선택된 파일이 없습니다.");}