控件之间拖放操作(二)-----实现Treeview节点到DataGridView
2007-08-09 10:11
645 查看
要求:新建一From1窗体, From1窗体里放TreeView1和DataGridView1控件.
1>初始化数据
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim mNode As TreeNode = Me.TreeView1.Nodes.Add("Fruits")
mNode.Nodes.Add("Apple")
mNode.Nodes.Add("Peach")
mNode.Expand()
Me.TreeView1.AllowDrop = True
Me.DataGridView1.Columns.Add("code", "code")
Me.DataGridView1.Columns.Add("name", "name")
Me.DataGridView1.Columns.Add("age", "age")
Me.DataGridView1.Columns.Add("Address", "Address")
Me.DataGridView1.AllowDrop = True
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
2>TreeView1的MouseDown事件
Dim mTree As TreeView = sender
Dim mNode As TreeNode = mTree.GetNodeAt(e.X, e.Y)
mTree.SelectedNode = mNode
If Not mNode Is Nothing Then
mTree.DoDragDrop(mNode.Text, DragDropEffects.Copy)
End If
3>DataGridView1的DragOver事件
Dim dgv As DataGridView = CType(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
4>DataGridView2的DragDrop事件
If e.Data.GetDataPresent(GetType(System.String)) Then
Dim str As String = CType(e.Data.GetData(GetType(System.String)), System.String)
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
Dim cell As DataGridViewCell = dgv(hti.ColumnIndex, hti.RowIndex)
cell.Value = str
End If
End If
5>F5运行.通过.
1>初始化数据
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim mNode As TreeNode = Me.TreeView1.Nodes.Add("Fruits")
mNode.Nodes.Add("Apple")
mNode.Nodes.Add("Peach")
mNode.Expand()
Me.TreeView1.AllowDrop = True
Me.DataGridView1.Columns.Add("code", "code")
Me.DataGridView1.Columns.Add("name", "name")
Me.DataGridView1.Columns.Add("age", "age")
Me.DataGridView1.Columns.Add("Address", "Address")
Me.DataGridView1.AllowDrop = True
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
2>TreeView1的MouseDown事件
Dim mTree As TreeView = sender
Dim mNode As TreeNode = mTree.GetNodeAt(e.X, e.Y)
mTree.SelectedNode = mNode
If Not mNode Is Nothing Then
mTree.DoDragDrop(mNode.Text, DragDropEffects.Copy)
End If
3>DataGridView1的DragOver事件
Dim dgv As DataGridView = CType(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
4>DataGridView2的DragDrop事件
If e.Data.GetDataPresent(GetType(System.String)) Then
Dim str As String = CType(e.Data.GetData(GetType(System.String)), System.String)
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim p As Point = dgv.PointToClient(New Point(e.X, e.Y))
Dim hti As DataGridView.HitTestInfo = dgv.HitTest(p.X, p.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
Dim cell As DataGridViewCell = dgv(hti.ColumnIndex, hti.RowIndex)
cell.Value = str
End If
End If
5>F5运行.通过.
相关文章推荐
- 控件之间拖放操作-----实现Treeview到Treeview
- 实现在TreeView节点中进行拖放操作
- 在C#中实现TreeView节点的拖放操作
- 用jQuery实现asp.net 2.0 treeview控件完全无刷新操作实例(AJAX的增、删、改、选择以及展开收缩节点)
- 拖放操作-实现Treeview到Treeview和DataGridView到Treeview
- 树节点移动操作----使用微软treeview控件
- C#2005中使用控件DataGridView实现对数据库增删改查操作
- C#中父窗口和子窗口之间实现控件互操作
- TreeView控件的父节点的全选与不选级联子节点并实现拖动子节点
- 在同一treeview中拖放节点并实现动态图像跟随
- C#中父窗口和子窗口之间实现控件互操作
- TreeView节点拖放/DragDrop的实现实例(C#)
- 用Ext JS+ Ajax 实现的一个树形和表格的联动模块 支持树和表格之间的节点拖放 源码
- 用客户端JS实现微软TreeView控件父子节点联选!
- Monkeyrunner学习之任意节点控件获取及获取对应控件的相对坐标实现对控件的操作
- C#中父窗口和子窗口之间实现控件互操作
- c#中父窗口和子窗口之间实现控件互操作
- C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?
- <转载>C#中父窗口和子窗口之间实现控件互操作
- Visual C#实现父窗口和子窗口之间实现控件互操作