개발/C#
c# 드래그 앤 드랍 ( drag and drop)
FA1976
2020. 1. 16. 09:16
반응형
드래그 앤 드랍 할 컨트롤 에 Allowdrop 를 true 로 해준뒤 아래 코드를 삽입하면 드래그앤 드랍이 된다.
아래 코드는 리스트 박스에 드래그한 파일의 경로를 추가해준다.
private void listbox_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
}
private void listbox_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string str in files) // 선택 폴더의 파일 목록을 스캔합니다.
{
listbox_rompath.Items.Add(str);
}
}
폴더 경로를 추가할때 DragDrop 부분은 동일하나 DragEnter 부분이 다름.
void listbox_DragEnter(object sender, DragEventArgs e)
{
DragDropEffects effects = DragDropEffects.None;
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var path = ((string[])e.Data.GetData(DataFormats.FileDrop))[0];
if (Directory.Exists(path))
effects = DragDropEffects.Copy;
}
e.Effect = effects;
}
반응형