Jag undrar om det går att flytta ett värde från en listview till en textbox genom att dra och släppa. Om det går skulle jag vilja vet hur!? Ok, jag vet inte riktgit hur du hade tänkt dig det hela men för att t.ex. flytta ett items text till en text box kan du göra enligt följande:Dra och släpp
Det program jag försöker göra innebär att jag ska kunna gruppera ett antal personer genom att flytta de från en listview till en grupp av textboxar genom att "dra och släppa".
/JonasSv: Dra och släpp
sätt allowdrop till true i textboxen. lägg till ett event som handhar DragEnter
Private Sub textBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
e.Effect = DragDropEffects.All
End If
End Sub
lägg till ett event som handhar DragDrop
Private Sub textBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
textBox1.Text = CType(e.Data.GetData(DataFormats.StringFormat), String)
End Sub
lägg till en handler för Listviewns ItemDrag
Private Sub listView1_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs)
Dim li As ListViewItem = CType(e.Item, ListViewItem)
listView1.DoDragDrop(li.Text, DragDropEffects.Move Or DragDropEffects.Copy)
End Sub
Som sagt, i itemDrag bestämmer du vad det är som skall draggas, i detta fallet är det ju bara ett listitems text property. observera att e.Item förmodligen kan innehålla en ListViewItemCollection ifall du har flera items markerade i Listviewn. Annars borde det bara vara att söka på google efter "vb.net" + listview + "drag and drop" för att få rätt bra träffar.