.net 将项目放入listview中的特定组
我试图在同一ListView中的两个组之间拖动一个名为“listTasks”的项.net 将项目放入listview中的特定组,.net,vb.net,listview,drag-and-drop,.net,Vb.net,Listview,Drag And Drop,我试图在同一ListView中的两个组之间拖动一个名为“listTasks”的项 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 list
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\u DragEnter忽略数据格式检查以简化示例
使用listTasks.PointToClient New Pointe.X,e.Y,您可以使用listTasks.GetItemAtp.X,p.Y来获取您已完成的ListView项。有这样的团体活动吗?或者是一种更好的方法来确定哪个组是拖放的目标?您可以尝试以下方法:
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
您可能想做更多的工作,将其放置在组中的特定位置,但这应该可以让您开始了。您是先试用MSDN的吗@贾萨夫:谢谢你的链接,但是没有提到团体。我知道如何拖放。在同一ListView中加入不同组的方法之后。