## [C#] 폴더안의 파일 목록 만들기(리스트박스) 코딩정보/C# 2020-09-03 10:13:06 * * * 안녕하세요 코딩연습생입니다~ 요즘 코로나도 문제이지만 태풍이 너무 많이 오네요~ 짜증날 정도로ㅎㅎ ![](/assets/images/c_폴더안의_파일_목록_만들기_리스트박스/img.png) 글자님들도 코로나 + 태풍 조심하시길 바랍니다 이번 포스팅은 C#으로 리스트박스(ListBox)를 사용하여 폴더내의 파일 목록을 만들고 ValueMember와 DisplayMember를 사용하여 속성값, 보여지기값을 사용하는 방법을 알려드릴려고 합니다 물론, 이미 다 아실수도 있지만 저는 머리가 나빠서 기록차원에서 포스팅 할께요~ㅎ 일단 첫번째는 버튼을 통해 폴더 지정하는 방법입니다 그럼 젤 중요한 버튼이 있어야죠 ![](/assets/images/c_폴더안의_파일_목록_만들기_리스트박스/img_1.png) 간단하게 저는 폴더라는 이름으로 버튼을 생성했습니다 그리고 버튼 Click 이벤트에 아래와 같이 코딩을 했습니다 FolderBrowserDialog dialog = new FolderBrowserDialog(); if (dialog.ShowDialog() == DialogResult.OK) { } 폴더를 선택할 수 있는 Dialog를 띄우기 위함입니다 버튼을 누루면 아래와 같은 선택 창이 띄게 되지요 ![](/assets/images/c_폴더안의_파일_목록_만들기_리스트박스/img_2.png) 그럼 두번째로 폴더를 선택한뒤에 그 폴더안에 있는 하위 파일 목록을 만들어야 합니다 그 리스트는 C#의 기본 컨트롤중에 리스트박스(ListBox)를 사용했습니다 화면 디자인은 심플합니다 ![](/assets/images/c_폴더안의_파일_목록_만들기_리스트박스/img_3.png) 그다음 아까 만들었던 버튼 Click이벤트에 파일 목록을 가져와서 리스트뷰에 뿌려줄수 있게 코딩을 합니다 FolderBrowserDialog dialog = new FolderBrowserDialog(); if (dialog.ShowDialog() == DialogResult.OK) { //불량 이미지 폴더 string Folder_Path = dialog.SelectedPath; this.listBox1.Refresh(); DirectoryInfo di = new DirectoryInfo(Folder_Path); if (di.Exists == true) { DataTable dt = new DataTable(); dt.Columns.Add("FileName", typeof(string)); dt.Columns.Add("FullName", typeof(string)); DataRow ds = null; foreach (FileInfo file in di.GetFiles()) { ds = dt.NewRow(); ds["FileName"] = file.Name.Substring(0, file.Name.Length - 4); ds["FullName"] = file.FullName; dt.Rows.Add(ds); } listBox1.DataSource = dt; listBox1.ValueMember = "FullName"; listBox1.DisplayMember = "FileName"; } } 여기서 보셔야 할 부분은 DataTable를 생성하여 컬럼을 임의로 생성한 부분 DataTable dt = new DataTable(); dt.Columns.Add("FileName", typeof(string)); dt.Columns.Add("FullName", typeof(string)); 그리고 리스트뷰(ListView)에 DataSource를 사용하여 DataTable값을 넣어주고 ValueMember와 DisplayMember를 사용한 부분 listBox1.DataSource = dt; listBox1.ValueMember = "FullName"; listBox1.DisplayMember = "FileName"; 이렇게 사용하시게 되면 화면에 보이는 값과 속성 값을 따로 사용하실 수 있습니다 ![](/assets/images/c_폴더안의_파일_목록_만들기_리스트박스/img_4.png) 이렇게 활용하여 사용하실수 있습니다 #c# #ListBox #DataTable #리스트뷰 ValueMember사용하기 #리스트뷰 데이터테이블
(*No embedded English lines found. Add translations later.*)