<TreeListView> Node Drag And Drop
2020. 2. 12. 14:12ㆍVB.NET
728x90
반응형
TreeListView Property 변경
AllowDrop = True
AllowDefaultDragDrop = True
ItemDragEventArgs
Private Sub treeView_ItemDarag(sender As Object, e As ItemDragEventArgs) Handles trv_Model.ItemDrag
If e.Button = MouseButtons.Left Then
DoDragDrop(e.Item, DragDropEffects.Move)
End If
End Sub
ItemDragEventArgs
Private Sub Drag_n_Drop_Functions(sender As Object, e As ItemDragEventArgs) Handles trv_Model.ItemDrop
Dim targetPoint As Point = DirectCast(e, WinControls.ListView.EventArgClasses.TreeListViewItemDropEventArgs).MousePosition
Dim targetNode As TreeListNode = DirectCast(e, WinControls.ListView.EventArgClasses.TreeListViewItemDropEventArgs).TargetNode
targetNode = trv_Model.GetItemAt(targetPoint)
Dim draggedNode As TreeListNode = DirectCast(e, EventArgClasses.TreeListViewItemDropEventArgs).Item(0)
Debug.Print(String.Format("Origin({2}) Rowindex : {0} ||| Index : {1}", draggedNode.RowIndex, draggedNode.Index, draggedNode.Text))
Debug.Print(String.Format("target({2}) Rowindex : {0} ||| Index : {1}", targetNode.RowIndex, targetNode.Index, targetNode.Text))
If draggedNode Is Nothing Or draggedNode Is Nothing Then Exit Sub
If Not (draggedNode.Equals(targetNode)) AndAlso Not ContainsNode(draggedNode, targetNode) Then
If draggedNode.Level = 3 AndAlso targetNode.Level = 3 Then
draggedNode.Remove()
targetNode.ParentNode.Nodes.Insert(draggedNode, targetNode.Index)
draggedNode.Expand()
End If
End If
End Sub
728x90
반응형
'VB.NET' 카테고리의 다른 글
VB.NET <TreeListView> 원하는 level 접기/펴기 (0) | 2020.04.09 |
---|---|
VB.NET 버튼 애니메이션 Timer로 간단하게 하기 (Button Animation) / Timer 사용법 (0) | 2020.02.21 |
VB.NET 다른 폼의 쓰레드를 나의 UI에 접근하기 (0) | 2019.12.31 |
VB.NET Panel의 Border 색상 바꾸기 (0) | 2019.08.20 |
VB.NET DataGridView to Datatable 변환하기 (0) | 2019.08.20 |