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

简介: 实现方法,在datagridview的mousedown事件中开始 托放。然后在treeview 的 DragEnter 中接收托放。最后在treeview的 DragDrop 中处理托放结果。注:treeview的allowdrop属性要设置为 true。
实现方法,在datagridview的mousedown事件中开始 托放。
然后在treeview 的 DragEnter 中接收托放。
最后在treeview的 DragDrop 中处理托放结果。
注:treeview的allowdrop属性要设置为 true。

 1 img_a6339ee3e57d1d52bc7d02b338e15a60.gif private   void  dataGridView1_MouseDown( object  sender, MouseEventArgs e)
 2 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif         img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
 3img_33d02437d135341f0800e3d415312ae8.gif            if (e.Button == MouseButtons.Right)
 4img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
 5img_33d02437d135341f0800e3d415312ae8.gif                DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
 6img_33d02437d135341f0800e3d415312ae8.gif                
 7img_33d02437d135341f0800e3d415312ae8.gif                if (info.RowIndex >= 0)
 8img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
 9img_33d02437d135341f0800e3d415312ae8.gif                    DataGridViewRow dr = (DataGridViewRow)
10img_33d02437d135341f0800e3d415312ae8.gif                           dataGridView1.Rows[info.RowIndex];
11img_33d02437d135341f0800e3d415312ae8.gif                    if (dr != null)
12img_33d02437d135341f0800e3d415312ae8.gif                        dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);
13img_105a1e124122b2abcee4ea8e9f5108f3.gif                }

14img_105a1e124122b2abcee4ea8e9f5108f3.gif            }

15img_05dd8d549cff04457a6366b0a7c9352a.gif        }

16 img_a6339ee3e57d1d52bc7d02b338e15a60.gif
17 img_a6339ee3e57d1d52bc7d02b338e15a60.gif         private   void  treeView1_DragEnter( object  sender, DragEventArgs e)
18 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif         img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
19img_33d02437d135341f0800e3d415312ae8.gif            e.Effect = DragDropEffects.Copy;
20img_05dd8d549cff04457a6366b0a7c9352a.gif        }

21 img_a6339ee3e57d1d52bc7d02b338e15a60.gif
22 img_a6339ee3e57d1d52bc7d02b338e15a60.gif         private   void  treeView1_DragDrop( object  sender, DragEventArgs e)
23 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif         img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif {
24img_33d02437d135341f0800e3d415312ae8.gif            if (e.Data.GetDataPresent(typeof(DataGridViewRow)))
25img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{                
26img_33d02437d135341f0800e3d415312ae8.gif                Point p = treeView1.PointToClient(new Point(e.X, e.Y));
27img_33d02437d135341f0800e3d415312ae8.gif                TreeViewHitTestInfo index = treeView1.HitTest(p);
28img_33d02437d135341f0800e3d415312ae8.gif
29img_33d02437d135341f0800e3d415312ae8.gif                if (index.Node != null)
30img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif                img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif{
31img_33d02437d135341f0800e3d415312ae8.gif
32img_33d02437d135341f0800e3d415312ae8.gif                    DataGridViewRow drv = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow));
33img_33d02437d135341f0800e3d415312ae8.gif                    index.Node.Text = "Drop: " + drv.Cells[0].ToString();
34img_33d02437d135341f0800e3d415312ae8.gif             
35img_105a1e124122b2abcee4ea8e9f5108f3.gif                }

36img_105a1e124122b2abcee4ea8e9f5108f3.gif            }

37img_05dd8d549cff04457a6366b0a7c9352a.gif        }
目录
相关文章
|
编解码 网络协议 安全
什么是猫池
猫池(外文名:ModemPOOL)就是将相当数量的Modem使用特殊的拨号请求接入设备连接在一起,可以同时接受多个用户拨号连接的设备。无线猫池设备广泛应用于大量具有多用户远程联网需求的单位或需要向从多用户提供电话拨号联网服务的单位。如邮电局、税务局、海关、银行、证券商、各类交易所、期货经纪公司、工商局、各类信息呼叫中心等。我公司的提供的猫池主要用于IP电话通讯使用,不是市面上的养卡猫池,这里我们再对猫池详细说明及功能使用:
4920 0
|
JavaScript Java 关系型数据库
Springboot+vue的学生选课管理系统。Javaee项目,springboot vue前后端分离项目。
Springboot+vue的学生选课管理系统。Javaee项目,springboot vue前后端分离项目。
|
关系型数据库 MySQL 数据库
|
2天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
6天前
|
人工智能 中间件 API
AutoGen for .NET - 架构学习指南
《AutoGen for .NET 架构学习指南》系统解析微软多智能体框架,涵盖新旧双架构、核心设计、技术栈与实战路径,助你从入门到精通,构建分布式AI协同系统。
308 142
|
2天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
405 0
|
3天前
|
传感器 人工智能 算法
数字孪生智慧水务系统,三维立体平台,沃思智能
智慧水务系统融合物联网、数字孪生与AI技术,实现供水全流程智能监测、预测性维护与动态优化。通过实时数据采集与三维建模,提升漏损控制、节能降耗与应急响应能力,推动水务管理从经验驱动迈向数据驱动,助力城市水资源精细化、可持续化管理。
267 142
|
2天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
本文介绍RAG(检索增强生成)技术,结合Spring AI与本地及云知识库实现学术分析AI应用,利用阿里云Qwen-Plus模型提升回答准确性与可信度。
204 90
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践

热门文章

最新文章