|
-
Apr 1st, 2003, 07:35 AM
#1
Thread Starter
Fanatic Member
TreeView Drag Drop
hi
i need to perform drag and drop operation
TreeView --- TreeView
TreeView --- ListView
ListView --- TreeView
so one at a time... i have tried a bit but seem to have a problem...
Code:
Private Sub TV_ORG_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TV_ORG.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Private Sub TV_ORG_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TV_ORG.ItemDrag
DoDragDrop(e.Item, DragDropEffects.Move)
End Sub
Private Sub TV_ORG_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TV_ORG.DragDrop
Dim Nd As TreeNode
Try
Dim newNode As TreeNode = New TreeNode(e.Data.GetData("System.Windows.Forms.TreeNode"))
If Nd.Equals(newNode) = False Then
Nd.Nodes.Add(New TreeNode(newNode.Clone))
newNode.Remove()
End If
Catch ex As Exception
StatusBar1.Panels(0).Text = ex.Message
End Try
End Sub
the problem area look like when i debug it...
Dim newNode As TreeNode = New TreeNode(e.Data.GetData("System.Windows.Forms.TreeNode"))
the error i get is
Cast fro TreeNode to String is not Valid
-
Apr 3rd, 2003, 04:50 AM
#2
Thread Starter
Fanatic Member
welll
nothing ...just nothing...
-
Jul 10th, 2003, 09:56 AM
#3
Member
Try this for dragging from Treeview1 to Treeview2
Private Sub TreeView1_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag
Dim nodX As TreeNode
'Gets the text from the node and passes it to the DragDrop Procedure
nodX = CType(e.Item, TreeNode)
DoDragDrop(nodX.Text, DragDropEffects.Copy)
End Sub
Private Sub TreeView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDown
'Gets the node from the position the MouseDown Event was started
Dim NodX As TreeNode = TreeView1.GetNodeAt(New Drawing.Point(e.X, e.Y))
'Sets the node to be selected
TreeView1.SelectedNode = NodX
End Sub
Private Sub TreeView2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragEnter
e.Effect = DragDropEffects.Copy
End Sub
Private Sub TreeView2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragDrop
'Creates a new Treenode, sets the text of the Treenode to the Text from the DropEvent Argument
Dim nodX As New TreeNode(e.Data.GetData(DataFormats.Text))
TreeView2.Nodes.Add(nodX)
End Sub
This should work in the same way for a ListView as well. Just substitute a ListItem for the TreeNode.
-
Jul 10th, 2003, 11:02 AM
#4
you could also do it like this :
VB Code:
Private Sub TreeView1_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag
Dim myNode As TreeNode = DirectCast(e.Item, TreeNode)
DoDragDrop(myNode.Text, DragDropEffects.Copy)
End Sub
Private Sub TreeView2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragEnter
e.Effect = DragDropEffects.Copy
End Sub
Private Sub TreeView2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragDrop
TreeView2.Nodes.Add(e.Data.GetData(DataFormats.Text))
End Sub
hope it helps
~
if a post is resolved, please mark it as [Resolved]
protected string get_Signature(){return Censored;}
[vbcode][php] please use code tags when posting any code [/php][/vbcode]
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|