카테고리 없음

C#에서 특정 컨트롤에 드래그앤드랍 기능 추가하기

great-artist 2019. 3. 5. 11:07
반응형

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


        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;
                }
            }
        }

 


반응형