Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

[C#] 리스트컨트롤(ListView)에 드래그앤 드랍으로 파일 추가하기

 

환경 : Visual Studio 2013

 

이번 예제는 파일을 리스트 컨트롤에 끌어서 놓았을 때 파일 제목을 추가하는 방법에 대한 내용입니다. 파일을 추가할 때 파일 다이얼로그를 이용하기도 하지만 폴더를 열어서 끌어나 놓는 것이 더 편리하죠.

 

리스트 컨트롤에 파일을 추가하기 위해서는 속성값을 변경해야 합니다. AllowDrop = true 로 변경합니다. 드래그 앤 드랍을 허용한다는 의미겠죠. 

[C#] 리스트컨트롤(ListView)에 드래그앤 드랍으로 파일 추가하기

 

다음은 드래그 앤 드랍에 쓰이는 이벤트 함수 두개를 만듭니다. DragDrop DragEnter 함수인데 DragDrop 은 리스트 컨트롤에 마우스를 드래그해서 놓았을 때 발생하는 함수이며, DragEnter 은 마우스로 리스트컨트롤 안으로 들어왔을 때 발생하는 함수 입니다.

[C#] 리스트컨트롤(ListView)에 드래그앤 드랍으로 파일 추가하기

 

DragEnter 이벤트 함수는 드래그 앤 드랍이 가능하다는 표시를 하기 위한 것입니다. 이것을 구현하지 않으면 파일이 리스트에 추가 되지 않는 것 처럼 보일 겁니다.

private void listView1_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Copy;
}

 

DragDrop 이벤트 함수는 리스트에 파일의 제목을 추가하는 내용입니다.

 

private void listView1_DragDrop(object sender, DragEventArgs e)
{

    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
    foreach (string file in files) listView1.Items.Add(file);
}

 

폴더에 있는 파일을 드래그 해서 넣은 모습입니다. 같은 파일이 있는지 검사하는 기능과 경로, 제목을 분리해서 보여주는 등의 부족한 면은 이제부터 구현 해야 겠죠. 

[C#] 리스트컨트롤(ListView)에 드래그앤 드랍으로 파일 추가하기

반응형
Posted by 녹두장군1
,