20/10/17 14:39
Thejuster
Significa che cerchi di aggiungere al momento del drop un elemento che non è quello tenuto dal drag.
Inserisci un breackpoint dove dai alla variabile l'elemento in drag e controlla di che tipo è.
Oppure sbagli ad eseguire tutto il processo ddl drag e drop
Inserisci un breackpoint dove dai alla variabile l'elemento in drag e controlla di che tipo è.
Oppure sbagli ad eseguire tutto il processo ddl drag e drop
Ultima modifica effettuata da Thejuster 20/10/17 14:40
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer
21/10/17 5:30
Goodman85
Postato originariamente da Thejuster:
Significa che cerchi di aggiungere al momento del drop un elemento che non è quello tenuto dal drag.
Inserisci un breackpoint dove dai alla variabile l'elemento in drag e controlla di che tipo è.
Oppure sbagli ad eseguire tutto il processo ddl drag e drop
Significa che cerchi di aggiungere al momento del drop un elemento che non è quello tenuto dal drag.
Inserisci un breackpoint dove dai alla variabile l'elemento in drag e controlla di che tipo è.
Oppure sbagli ad eseguire tutto il processo ddl drag e drop
Grazie per la risposta,
la variabile me la da nulla (Nothing)
Il problema che il codice l'ho trovato direttamente sulla guida di MSN.
questo è il codice:
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Parentnode1 As TreeNode Dim ParentNode2 As TreeNode Parentnode1 = TreeView1.Nodes.Add("TV 1") With Parentnode1 .Nodes.Add("TV1 Primo Figlio") .Nodes.Add("TV1 Secondo Figlio") .Nodes.Add("TV1 Terzo Figlio") .Nodes.Add("TV1 Quarto Figlio") .Expand() End With ParentNode2 = TreeView2.Nodes.Add("TV 2") With ParentNode2 .Nodes.Add("TV2 Primo Figlio") .Nodes.Add("TV2 Secondo Figlio") .Expand() End With End Sub Private Sub TreeView1_ItemDrag(sender As Object, e As ItemDragEventArgs) Handles TreeView1.ItemDrag DoDragDrop(e.Item, DragDropEffects.Move) End Sub Private Sub TreeView2_DragDrop(sender As Object, e As DragEventArgs) Handles TreeView2.DragDrop Dim NewNode As TreeNode If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then Dim pt As Point Dim DestinationNode As TreeNode pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y)) DestinationNode = CType(sender, TreeView).GetNodeAt(pt) NewNode = CType(e.Data.GetData("System.Windows.Form.TreeNode"), TreeNode) If Not DestinationNode.TreeView Is NewNode.TreeView Then DestinationNode.Nodes.Add(NewNode.Clone) DestinationNode.Expand() NewNode.Remove() End If End If End Sub Private Sub TreeView2_DragEnter(sender As Object, e As DragEventArgs) Handles TreeView2.DragEnter e.Effect = DragDropEffects.Move End Sub End Class
allego immagine con la variabile nothing
Ultima modifica effettuata da Thejuster 23/10/17 8:00
aaa
23/10/17 8:10
Thejuster
Non comprendo molto bene il vb.net
Ma i problemi possono essere diversi.
Per questo ti avevo chiesto di inserire un breakpoint al punto in cui andavi ad eseguire questa operazione.
Sei sicuro che si sta trascinando un Nodo e non un NodeItem?
Inserisci un breakpoint qui
DoDragDrop(e.Item, DragDropEffects.Move)
controlla e.Item di cosa si tratta e cosa stai trascinando prima di convertire l'elemento
in quello che credi possa essere.
Da quel che vedo posso solo dedurre che
uno di questi due valori sia vuoto.
O non esattamente che sia un treeview.
Ti consiglio di dare uno sguardo a questo tutorial scritto da TheDarkJuster.
Visto che pochi conoscono l'esistenza di questo tool fondamentale per un programmatore.
pierotofy.it/pages/guide_tutorials/CPlusPlus/Come_si_usa_e_a_cosa_serve_un_debugger/
Ma i problemi possono essere diversi.
Dim NewNode As TreeNode
Per questo ti avevo chiesto di inserire un breakpoint al punto in cui andavi ad eseguire questa operazione.
Sei sicuro che si sta trascinando un Nodo e non un NodeItem?
Inserisci un breakpoint qui
DoDragDrop(e.Item, DragDropEffects.Move)
controlla e.Item di cosa si tratta e cosa stai trascinando prima di convertire l'elemento
in quello che credi possa essere.
Da quel che vedo posso solo dedurre che
pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y)) DestinationNode = CType(sender, TreeView).GetNodeAt(pt)
uno di questi due valori sia vuoto.
O non esattamente che sia un treeview.
Ti consiglio di dare uno sguardo a questo tutorial scritto da TheDarkJuster.
Visto che pochi conoscono l'esistenza di questo tool fondamentale per un programmatore.
pierotofy.it/pages/guide_tutorials/CPlusPlus/Come_si_usa_e_a_cosa_serve_un_debugger/
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer