首页 > 解决方案 > ObjectListView 从另一个模型对象接收拖动

问题描述

我使用了一个 ObjectListView 和一个 TreeListView 我想将 ObjectListView 中的选定对象拖到 TreeListView 并在 DragDropEvent 上做一些事情。

在经典的 TreeView 中,我们可以使用 GetNodeAt 来检索鼠标点位置悬停的节点。如何在接收事件 DragDrop 的 TreeListView 中获取当前对象。

提前致谢。埃里克。

标签: c#drag-and-dropobjectlistview

解决方案


这对我有用:

public Form1()
{
    InitializeComponent();

    tlv.IsSimpleDropSink = true;
    olv.IsSimpleDragSource = true;

    olv.AddObject("Fish");
    tlv.ModelCanDrop += (s,e)=>{e.Effect = DragDropEffects.Copy;};
    tlv.ModelDropped += Tlv_ModelDropped;
}

private void Tlv_ModelDropped(object sender, BrightIdeasSoftware.ModelDropEventArgs e)
{
    foreach(var m in e.SourceModels)
        ((TreeListView)sender).AddObject(m);
}

推荐阅读