728x90
반응형
Winform에 ListView를 이용해서 파일 드래그&드랍으로 옮기기
ListView에서는 파일명, 확장자, 경로를 보여주도록 했고,
실제 파일브라우저와 같이 View 형식을 변경할 수 있다. (View => LargeIcon / Details / SmallIcon / List / Title)
아래 코드에서는 확장자를 확인해서 엑셀파일만 등록할 수 있도록 했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
public Form1()
{
InitializeComponent();
listView1.View = View.Details;
listView1.MultiSelect = false;
listView1.Columns.Add("파일명", 150);
listView1.Columns.Add("확장자", 50);
listView1.Columns.Add("경로", 200);
this.AllowDrop = true;
this.DragEnter += new DragEventHandler(Form1_DragEnter);
this.DragDrop += new DragEventHandler(Form1_DragDrop);
}
void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
}
void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
{
string extension = Path.GetExtension(file);
if (extension == ".xlsx" || extension == ".xls")
{
string fileName = Path.GetFileName(file);
ListViewItem lvi = new ListViewItem(fileName);
lvi.SubItems.Add(extension);
lvi.SubItems.Add(file);
listView1.Items.Add(lvi);
listView1.Items[listView1.Items.Count - 1].Selected = true;
} else
{
MessageBox.Show("엑셀파일을 등록해주세요.");
}
}
}
|
cs |
728x90
반응형
'IT > C#' 카테고리의 다른 글
[C#] Math Class 주로 쓰이는 Method 정리 (0) | 2023.02.03 |
---|---|
[C#] Excel Data to DataGridView with OleDB (2) | 2023.01.13 |
[C#] Double Trackbar User Control 만들기 (2) | 2023.01.12 |
[C#] Form UI Control 사이즈 일괄 변경하기 FHD to UHD(4K) (0) | 2022.12.29 |
[C#] Tesseract OCR - 이미지에서 글자 추출하기 (WinForm) (2) | 2022.12.27 |