0
나는이 모든 곳을 보았고 모든 솔루션을 시도했으며 원하는 것을 얻지 못하고 있습니다. 탐색기에서 ListView로 파일을 드롭 한 다음 끌어서 놓기를 통해 파일을 정렬 할 수 있어야합니다. 탐색기에서 드래그/드롭을 가져 오는이 간단한 코드가 있습니다.탐색기에서 ListView로 끌 수 없음
this.messageView.AllowDrop = true;
this.messageView.Location = new System.Drawing.Point(12, 52);
this.messageView.Name = "messageGrid";
this.messageView.Size = new System.Drawing.Size(121, 97);
this.messageView.TabIndex = 3;
this.messageView.UseCompatibleStateImageBehavior = false;
this.messageView.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
this.messageView.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
나는 내 양식을 가지고를 RichTextBox에 messageView을 변경, 그것은이 잘 작동하기 때문에 이것은, 기괴한
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("FileGroupDescriptor"))
{
e.Effect = DragDropEffects.All;
}
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
messageView.Items.Add(e.Data.ToString());
}
핸들러. 해야 할 추가 단계가 있습니까? ListView에 놓으려고하면 탐색기에서 선을 통해 원이 생깁니다. 어떤 도움을 주시면 감사하겠습니다. 감사.
목록보기에서 처리됩니다. 이름은 약간 펑키합니다. InitializeComponent()가 아닌 다른 곳에서 초기화해야합니까? –
"FileGroupDescriptor"를 상수 DataFormats.FileDrop로 변경하고, 오른쪽 문자열을 FileDrop로 지정하고 DragDrop 이벤트에서 올바른 데이터 (문자열 []]를 가져 와서 반복 할 수 있습니다.) ToString() 대신 e.Data.GetData() 메서드를 사용합니다. –