{C#}

Sample Code Drag & Drop

Ad


Drag Source 는 Windows Explorer (윈도우 탐색기) 등에서 선택된 파일
Windows Form 에서 Drop 컨트롤 : listPlugin ListView

this.listPlugin.AllowDrop = true;

this.listPlugin.DragEnter += (sender, e) =>
{
    try
    {
        if (NotSupportedMethod)
        {
            // Drop 할 수 없는 경우에 대한 처리
            e.Effect = DragDropEffects.None;
        }
        else
        {
            // File Drop 에 대해서만 처리한다.
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Copy | DragDropEffects.Scroll;
            }
        }
    }
    catch (Exception ex)
    {
        this.Log("{0}\r\n{1}", ex.Message, ex.StackTrace);
    }
};

this.listPlugin.DragDrop += (sender, e) =>
{
    try
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            // Drag data를 추출
            string[] arrfiles = (string[])e.Data.GetData(DataFormats.FileDrop);
            // Drag data를 처리
            this.AddPluginFile(arrfiles);
        }
    }
    catch (Exception ex)
    {
        this.Log("{0}\r\n{1}", ex.Message, ex.StackTrace);
    }
};