Danke. Leider tut sich nichts bei diesem Beispiel: kein Drag & Drop zwischen den 2 TreeViews. :((
 
----- Original Message -----
Sent: Tuesday, June 01, 2004 9:42 PM
Subject: Re: [Framework.net] Drag & Drop mit TreeView - LEIDER DRINGEND

Ich hab's mal blind durch den Converter in SharpDevelop durchgelassen, keine Garantien (und Absicht HTML):

        Private Sub treeView2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
                
Dim newNode As TreeNode
                
If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then
                        Dim
pt As Point
                        
Dim destinationNode As TreeNode
                        pt = treeView2.PointToClient(
New Point (e.X, e.Y))
                        destinationNode = treeView2.GetNodeAt(pt)
                        newNode =
CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode)
                        
If Not destinationNode.Equals(newNode) Then
                                
destinationNode.Nodes.Add(CType(newNode.Clone, TreeNode))
                                destinationNode.Expand
                                newNode.Remove
                        
End If
                End If
        End Sub

Chris

At 09:33 PM 6/1/2004, you wrote:
Danke. Scheint soweit zu gehen. Und wie sieht es hiermit aus ?

destinationNode.Nodes.Add((TreeNode) newNode.Clone());

Das hier bringt einen Fehler:

destinationNode.Nodes.Add(CType(e.Data.GetData("System.Windows.Forms.TreeNod
e") newNode.Clone())

Und zwar, das NewNode.clone nicht definiert ist.

Anbei nochmal das ges. C#-Bsp. für den Zusammenhang:

Gruß Steffen

----------------------------------------------------------------------------
---------------------------

private void treeView2_DragDrop(object sender,
System.Windows.Forms.DragEventArgs e)
{
     TreeNode newNode;
     if( e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
     {
          Point pt;
          TreeNode destinationNode;
          pt = treeView2.PointToClient(new Point(e.X, e.Y));
          destinationNode = treeView2.GetNodeAt(pt);
          newNode = (TreeNode)
e.Data.GetData("System.Windows.Forms.TreeNode");
          if(!destinationNode.Equals(newNode))
          {
               //destinationNode.Nodes.Add(newNode.Clone());
               destinationNode.Nodes.Add((TreeNode) newNode.Clone());
               destinationNode.Expand();
               //Remove original node
               newNode.Remove();
          }
     }
}

Antwort per Email an