C#:从DataGridView控件托放数据到TreeView控件

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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

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

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

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

1private void dataGridView1_MouseDown(object sender, MouseEventArgs e)

2 {

3 if (e.Button == MouseButtons.Right)

4 {

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

6

7 if (info.RowIndex >= 0)

8 {

9 DataGridViewRow dr = (DataGridViewRow)

10 dataGridView1.Rows[info.RowIndex];

11 if (dr != null)

12 dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);

13 }

14 }

15 }

16

17 private void treeView1_DragEnter(object sender, DragEventArgs e)

18 {

19 e.Effect = DragDropEffects.Copy;

20 }

21

22 private void treeView1_DragDrop(object sender, DragEventArgs e)

23 {

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

25 {

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

27 TreeViewHitTestInfo index = treeView1.HitTest(p);

28

29 if (index.Node != null)

30 {

31

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

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

34

35 }

36 }

37 }

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航