안녕하세요
코딩연습생입니다~
요즘 코로나도 문제이지만 태풍이 너무 많이 오네요~ 짜증날 정도로ㅎㅎ
글자님들도 코로나 + 태풍 조심하시길 바랍니다
이번 포스팅은 C#으로 리스트박스(ListBox)를 사용하여 폴더내의 파일 목록을 만들고
ValueMember와 DisplayMember를 사용하여 속성값, 보여지기값을 사용하는 방법을 알려드릴려고 합니다
물론, 이미 다 아실수도 있지만 저는 머리가 나빠서 기록차원에서 포스팅 할께요~ㅎ
일단 첫번째는 버튼을 통해 폴더 지정하는 방법입니다
그럼 젤 중요한 버튼이 있어야죠
간단하게 저는 폴더라는 이름으로 버튼을 생성했습니다
그리고 버튼 Click 이벤트에 아래와 같이 코딩을 했습니다
FolderBrowserDialog dialog = new FolderBrowserDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
}
폴더를 선택할 수 있는 Dialog를 띄우기 위함입니다
버튼을 누루면 아래와 같은 선택 창이 띄게 되지요
그럼 두번째로 폴더를 선택한뒤에 그 폴더안에 있는 하위 파일 목록을 만들어야 합니다
그 리스트는 C#의 기본 컨트롤중에 리스트박스(ListBox)를 사용했습니다
화면 디자인은 심플합니다
그다음 아까 만들었던 버튼 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";
이렇게 사용하시게 되면 화면에 보이는 값과 속성 값을 따로 사용하실 수 있습니다
이렇게 활용하여 사용하실수 있습니다
'코딩정보 > C#' 카테고리의 다른 글
[C#] 기간별 폴더 정리(삭제)하기 (0) | 2020.09.15 |
---|---|
[C#] 비쥬얼스튜디오에서 파이썬(Python) 파일 실행 시키기 (0) | 2020.09.11 |
[DataGridView] 기본 데이터그리드뷰 디자인 하기!! (0) | 2020.08.25 |
[C#] CS1056 예기치 않은 ' ' 문자입니다 오류 해결방법 (0) | 2020.07.28 |
[C#] 그리드뷰 엑셀 내보내기 (0) | 2020.07.24 |