【问题标题】:Drop items into specific group in a listview将项目拖放到列表视图中的特定组中
【发布时间】:2010-07-12 01:20:57
【问题描述】:

我正在尝试在名为“listTasks”的同一个 ListView 中在两个组之间拖动一个项目

Private Sub listTasks_ItemDrag(ByVal sender As Object, ByVal e As ItemDragEventArgs) Handles listTasks.ItemDrag
    listTasks.DoDragDrop(listTasks.SelectedItems, DragDropEffects.Move)
End Sub

Private Sub listTasks_DragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles listTasks.DragEnter
    e.Effect = DragDropEffects.Move
End Sub

Private Sub listTasks_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles listTasks.DragDrop
    ' how do I tell what group is being dropped into?
End Sub

(请注意,listTasks_DragEnter 忽略了 DataFormat 检查以简化示例)

使用listTasks.PointToClient(New Point(e.X, e.Y)),您可以使用listTasks.GetItemAt(p.X, p.Y) 来获取您结束的​​ListView 项目。群组有类似的东西吗?或者也许是一种更好的方法来确定拖放的目标是哪个组?

【问题讨论】:

标签: .net vb.net listview drag-and-drop


【解决方案1】:

你可以试试这样的:

Private lviDraggedItem As ListViewItem

Private Sub ListView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragEnter
    e.Effect = DragDropEffects.Move
End Sub

Private Sub ListView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop

    Dim htInfo As ListViewHitTestInfo = ListView1.HitTest(ListView1.PointToClient(New Point(e.X, e.Y)))

    Dim lviSibling As ListViewItem = htInfo.Item

    Dim lvgGroup As ListViewGroup = lviSibling.Group

    lvgGroup.Items.Add(lviDraggedItem)

    lviDraggedItem = Nothing


End Sub

Private Sub ListView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles ListView1.ItemDrag

    lviDraggedItem = e.Item
    ListView1.DoDragDrop(ListView1.SelectedItems, DragDropEffects.Move)


End Sub

您可能需要做更多的工作以将其放置在组中的特定位置,但这应该可以帮助您开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2011-07-23
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多