天天看点

从 DataGridView 控件 托放数据 到 TreeView控件

实现方法,在datagridview的mousedown事件中开始 托放。

然后在treeview 的 DragEnter 中接收托放。

最后在treeview的 DragDrop 中处理托放结果。

注:treeview的allowdrop属性要设置为 true。

 1

从 DataGridView 控件 托放数据 到 TreeView控件

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)

 2

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

{

 3

从 DataGridView 控件 托放数据 到 TreeView控件

            if (e.Button == MouseButtons.Right)

 4

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

 5

从 DataGridView 控件 托放数据 到 TreeView控件

                DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);

 6

从 DataGridView 控件 托放数据 到 TreeView控件

 7

从 DataGridView 控件 托放数据 到 TreeView控件

                if (info.RowIndex >= 0)

 8

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

 9

从 DataGridView 控件 托放数据 到 TreeView控件

                    DataGridViewRow dr = (DataGridViewRow)

10

从 DataGridView 控件 托放数据 到 TreeView控件

                           dataGridView1.Rows[info.RowIndex];

11

从 DataGridView 控件 托放数据 到 TreeView控件

                    if (dr != null)

12

从 DataGridView 控件 托放数据 到 TreeView控件

                        dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);

13

从 DataGridView 控件 托放数据 到 TreeView控件

                }

14

从 DataGridView 控件 托放数据 到 TreeView控件

            }

15

从 DataGridView 控件 托放数据 到 TreeView控件

        }

16

从 DataGridView 控件 托放数据 到 TreeView控件

17

从 DataGridView 控件 托放数据 到 TreeView控件

        private void treeView1_DragEnter(object sender, DragEventArgs e)

18

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

19

从 DataGridView 控件 托放数据 到 TreeView控件

            e.Effect = DragDropEffects.Copy;

20

从 DataGridView 控件 托放数据 到 TreeView控件

21

从 DataGridView 控件 托放数据 到 TreeView控件

22

从 DataGridView 控件 托放数据 到 TreeView控件

        private void treeView1_DragDrop(object sender, DragEventArgs e)

23

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

24

从 DataGridView 控件 托放数据 到 TreeView控件

            if (e.Data.GetDataPresent(typeof(DataGridViewRow)))

25

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

{                

26

从 DataGridView 控件 托放数据 到 TreeView控件

                Point p = treeView1.PointToClient(new Point(e.X, e.Y));

27

从 DataGridView 控件 托放数据 到 TreeView控件

                TreeViewHitTestInfo index = treeView1.HitTest(p);

28

从 DataGridView 控件 托放数据 到 TreeView控件

29

从 DataGridView 控件 托放数据 到 TreeView控件

                if (index.Node != null)

30

从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件
从 DataGridView 控件 托放数据 到 TreeView控件

31

从 DataGridView 控件 托放数据 到 TreeView控件

32

从 DataGridView 控件 托放数据 到 TreeView控件

                    DataGridViewRow drv = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow));

33

从 DataGridView 控件 托放数据 到 TreeView控件

                    index.Node.Text = "Drop: " + drv.Cells[0].ToString();

34

从 DataGridView 控件 托放数据 到 TreeView控件

35

从 DataGridView 控件 托放数据 到 TreeView控件

36

从 DataGridView 控件 托放数据 到 TreeView控件

37

从 DataGridView 控件 托放数据 到 TreeView控件