频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

vb.net 在TreeView中拖放节点

来源:网易科技报道 作者: 出处:巧巧读书 2008-02-02 进入讨论组

Private Sub TreeView1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragDrop

If TreeView1.SelectedNode Is Nothing Then Return

'返回鼠标在控件中的位置

Dim p As Point = TreeView1.PointToClient(New Point(e.X, e.Y))

'把鼠标放置位置转换为项

Dim dragToNode As TreeNode = TreeView1.GetNodeAt(p.X, p.Y)

If dragToNode Is Nothing Then Return

'检查是不是把父节点拖放到子节点,不允许父节点拖放到它之下的子节点

Dim CheckNode As TreeNode = dragToNode.Parent

Do Until CheckNode Is Nothing

If CheckNode Is TreeView1.SelectedNode Then

MessageBox.Show("不允许拖放父节点到子节点", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

Return

End If

CheckNode = CheckNode.Parent

Loop

'在目标位置插入拖到的项

Dim insertIndex As Integer = dragToNode.Index

Dim insertNode As TreeNode = CType(TreeView1.SelectedNode.Clone, TreeNode)

If dragToNode.Parent Is Nothing Then

TreeView1.Nodes.Insert(insertIndex, insertNode)

Else

dragToNode.Parent.Nodes.Insert(insertIndex, insertNode)

End If

'http://www.qqread.com/book/myvbnet/my0058.html

'移除移动的节点

TreeView1.SelectedNode.Remove()

End Sub

URL查看 http://www.qqread.com/book/myvbnet/my0058.html 更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章