2017-11-08 2 views
1

제목에서 알 수 있듯이 업로드 된 스프레드 시트에서 세 가지 목록을 채우는 양식이 있습니다. 각 광고 항목은 자체 문자열로 변환되며 사용자는 문자열을 가져 와서 한 목록에서 다른 목록으로 끌 수 있어야합니다.Visual Studio에서 한 목록에서 다른 목록으로 문자열을 이동하는 "DragDrop"기능을 등록하지 않았습니다.

MouseDown이 문자열을 가져 오기 위해 등록하는 동안 DragLeave는 원래 목록에서 문자열을 제거하기 위해 등록하고 DragEnter 레지스터는 문자열을 새 목록에 놓기 위해 DragDrop을 작동시키지 않습니다. 다음과 같이 목록에 이미 설정되어 있습니다.

this.lstCKWMissingJobs.DragEnter += new System.Windows.Forms.DragEventHandler(this.lstCKWMissingJobs_DragEnter); 
this.lstCKWMissingJobs.DragDrop += new System.Windows.Forms.DragEventHandler(this.lstCKWMissingJobs_DragDrop); 
this.lstCKWMissingJobs.DragLeave += new System.EventHandler(this.lstCKWMissingJobs_DragLeave); 
this.lstCKWMissingJobs.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lstCKWMissingJobs_MouseDown); 
+0

나는 "ListBox"를 의미하는 것으로 추측하고 있습니다. MouseDown은 Windows 사용자가 익숙한 드래그 드롭의 절반 정도입니다. [ask]를 읽고 [tour]를 가져 가십시오; 이러한 메소드 중 일부의 코드는 – Plutonix

답변

0

비슷한 기능의 드래그 앤 드롭 기능이 있습니다. 효과에 다른 값을 지정하지 않으면 드래그 작업이 수행 될 때 None by default에 있습니다.

효과를 변경하려면 DragEnter 이벤트 핸들러에 효과를 할당하십시오.

private void yourDragEnterHandler(object sender, DragEventArgs e) 
{ 
    e.Effect = DragDropEffects.Move; 
} 
관련 문제