아래는 버튼 컨트롤에 한개의 파일을 드래그앤드랍 하는 예제이다.


        private void form_Load(object sender, System.EventArgs e)
        {
            button.AllowDrop = true;
        }

        private void button_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Copy;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

        private void button_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                var droppedFiles = (string[])e.Data.GetData(DataFormats.FileDrop);

                if (droppedFiles.Length != 1)
                {
                    MessageBox.Show("파일만 드랍하세요.");
                    return;
                }

                var targetFile = droppedFiles[0];

                if (File.Exists(targetFile) == false)
                {
                    MessageBox.Show("파일이 아닙니다.");
                    return;
                }
            }
        }

 


반응형

Posted by great-artist
,