首页 文章

无法从资源管理器拖到ListView上

提问于
浏览
0

我到处都看到了这个并尝试了所有的解决方案,似乎没有得到我想要的东西 . 我希望能够将文件从资源管理器中删除到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);

和处理程序

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

这很奇怪,因为我将messageView更改为我在表单上的RichTextBox,它工作得很好 . 我还有其他步骤吗?当我尝试进入ListView时,我从资源管理器中获取了一条直线 . 任何帮助,将不胜感激 . 谢谢 .

1 回答

  • 1

    DragEnter和DragDrop事件应该在ListView中处理,而不是在Form中处理 . 关于拖放:我不记得文章名称,但我在codeproject中找到了一个很好的例子 .

相关问题