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

实现方法,在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        }

时间: 2024-10-31 00:49:39

从 DataGridView 控件 托放数据 到 TreeView控件的相关文章

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

datagrid|treeview|控件|数据 实现方法,在datagridview的mousedown事件中开始 托放.然后在treeview 的 DragEnter 中接收托放.最后在treeview的 DragDrop 中处理托放结果.注:treeview的allowdrop属性要设置为 true.: 1private void dataGridView1_MouseDown(object sender, MouseEventArgs e) 2        { 3           

从 DataGridView 控件 托放数据 到 TreeView控件(二)

前面已经实现了从 DataGridView 拖放数据到 TreeView.不过拖放是通过 鼠标右键完成的. 根据windows的一般标准,是通过鼠标左键来进行数据拖放操作的.像windows资源管理器,既能处理鼠标左键单机的选择,也能处理左键拖放操作.这个怎么实现?前面我们只处理了 DataGridView 的mousedown事件, 现在要处理 mousedown, mousemove, mouseup这三个事件来完成这个任务.大致过程如下: 在MouseDown事件里面和之前一样处理,只是不

VB6将XML数据传入TreeView控件

treeview|xml|控件|数据 由于XML文档是以树形结构为格式,所以通常采用TreeView控件显示它们.以下码段说明了如何在Visual Basic 6将XML文档传入一个TreeView控件. 首先,建立一个新的带有窗体的Visual Basic 6工程,然后在窗体中添加一个TreeView控件,并添加一个引用到微软XML解析器. 接着,在Form_Load事件中添加如下的代码:   Private Sub Form_Load()Dim objDOM As DOMDocument S

TreeView控件的使用

说在前面 好多网友来信要求我们写一些 ActiveX 控件的文章,其实对此我们早有计划.记得去年我们筹划 BOE 工作时的时候,小李就写好了一篇关于 ListView 的文章,十分不幸的是小李的机器遭黑客攻击,这篇文章丢失了:这阵子小李又要应付一场考试,没有空闲撰写文章.于是我就勉为其难,代替小李完成 TreeView 控件的介绍,以后有关 ActiveX 的内容仍有小李负责. ActiveX 是扩展应用程序功能的重要手段,但市面上有关 Visual FoxPro 与 ActiveX 控件的介绍

创建可编辑的xml文档(之五)执行中的treeview 控件

treeview|xml|创建|控件|执行 执行中的treeview 控件  为了更完美,列表4包含了VB.NET version, or C# version 两个版本的最终treevie 控件.为了更容易使用,我重新定义了结构和代码.同时增加了KeyDown 控制来支持一些默认的快捷键例如:Control-N (新建), F2 (编辑), 和DEL (删除).  这里好象不必附加任何事件,因此最终的api 包含一个方法和八个属性,他们在表1中列出来了,他们大多数都是简单的标志,或者默认的开关

小白请教个关于DataGridView控件中显示数据的问题。

问题描述 小白请教个关于DataGridView控件中显示数据的问题. private void button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("server = USER-20150322KM;database = huanghe;uid = sa; pwd = 121212"); SqlDataAdapter sda = new SqlDataAdapter(&q

在点击dataGridview 控件中的数据时,如何显示在文本框中?

问题描述 在点击dataGridview控件中的数据时,如何显示在文本框中? 解决方案 解决方案二:在cellclik事件中把只取出来传给TextBox就行了privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse){TextBox1.Text=this.dataGridView1.Rows[1].Cells[1].Value.ToString().Trim();} 解决方案三:privatevoidda

请问在C#窗口编程中,如何将 DataGridView控件中的数据(包括头文字和之后的行列数据)用txt文本文件格式输出来

问题描述 请问在C#窗口编程中,如何将DataGridView控件中的数据(包括头文字和之后的行列数据)用txt文本文件格式输出来 解决方案 解决方案二:http://blog.sina.com.cn/s/blog_4c1f37df0100hk5g.html

c# 控件 自定义控件-C#chart控件绑定数据库数据问题

问题描述 C#chart控件绑定数据库数据问题 c#chart控件画折线图时用datatable绑定了数据库,x轴是绑定了数据库中的time格式是yy-mm-dd hh:mm:ss 但是虽然是显示了折线图形但是x轴的坐标没有将时间显示上去.还有就是怎么显示节点的值 解决方案 蜗牛-C#程设之DataGridView数据库绑定控件蜗牛-C#程设之DataGridView数据库绑定控件Menu控件绑定数据库数据代码