文件拖放到窗体事件
网上的实现1
实现结果
具体实现代码:注意需要使能允许拖拽
public partial class Form1 : Form
{public Form1(){InitializeComponent();this.AllowDrop = true; //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text = DateTime.Now.ToString();if(e.Data.GetDataPresent(DataFormats.FileDrop)){string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);foreach (string file in files){listBox1.Items.Add(file);}}}
}
参考链接
拖放文件到窗体_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV13d4y1h7vr/?spm_id_from=333.999.0.0&vd_source=e821a225c7ba4a7b85e5aa6d013ac92e
完整的代码实例及信息描述
信息描述
在Windows Forms (WinForms) 应用程序中,如果你想实现一个功能,让用户能够通过拖拽文件到窗体上捕获文件的名称,你需要为窗体添加一个拖拽事件的处理器。这个事件通常称为 DragEnter
和 DragDrop
。
以下是一个简单的示例,展示了如何在WinForms应用程序中实现文件拖拽功能,并捕获拖拽文件的名称:
代码实例
using System;
using System.IO;
using System.Windows.Forms; public partial class MainForm : Form
{ public MainForm() { InitializeComponent(); // 允许窗体接受文件拖拽 this.AllowDrop = true; // 为窗体添加拖拽事件处理器 this.DragEnter += new DragEventHandler(MainForm_DragEnter); this.DragDrop += new DragEventHandler(MainForm_DragDrop); } // 当文件拖拽到窗体上时触发 private void MainForm_DragEnter(object sender, DragEventArgs e) { // 检查拖拽的数据是否包含文件 if (e.Data.GetDataPresent(DataFormats.FileDrop)) { // 允许放置 e.Effect = DragDropEffects.Copy; } } // 当文件被放置到窗体上时触发 private void MainForm_DragDrop(object sender, DragEventArgs e) { // 获取拖拽的文件列表 string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); // 遍历文件列表,处理每个文件 foreach (string file in files) { // 获取文件名 string fileName = Path.GetFileName(file); // 显示文件名 MessageBox.Show("拖拽的文件名称: " + fileName); // 这里你可以根据需要执行其他操作,如打开文件、处理文件内容等 } }
}
注意事项
在这个示例中,MainForm
类是窗体的类。在窗体的构造函数中,我们设置了 AllowDrop
属性为 true
,这允许窗体接受拖拽操作。然后,我们为 DragEnter
和 DragDrop
事件添加了事件处理器。
当文件拖拽到窗体上时,MainForm_DragEnter
方法会被调用,这里我们检查拖拽的数据是否包含文件,并设置拖拽效果为复制(DragDropEffects.Copy
)。
当文件被放置到窗体上时,MainForm_DragDrop
方法会被调用。在这个方法中,我们从拖拽的数据中获取文件列表,并遍历每个文件,获取文件名并显示它。
请注意,你需要在你的WinForms应用程序中适当地放置这段代码,并确保你的窗体类名与示例中的 MainForm
匹配,或者相应地修改类名。此外,你可能还需要在窗体设计器中将 AllowDrop
属性设置为 true
,或者通过代码设置它。
特此记录
anlog
2024年2月27日
相关文章:

文件拖放到窗体事件
网上的实现1 实现结果 具体实现代码:注意需要使能允许拖拽 public partial class Form1 : Form {public Form1(){InitializeComponent();this.AllowDrop true; //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text DateTime.No…...
JAVA集成微信支付V3版JSAPI下单
一、引入微信支付SDK <dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-pay</artifactId> </dependency> 二、支付参数封装 Data ConfigurationProperties(prefix "wx.pay") public class WxP…...
opengles 背面剔除介绍(十二)
文章目录 前言一、OpenGL ES 剔除功能简介二、Opengl ES 剔除功能相关的API1.使能剔除功能2. 配置面剔除模式3. 设置剔除面的顺序4. 禁用剔除功能总结参考资料前言 本文主要介绍 opengles3.0 中的背面剔除相关知识,对于绘制3d 图形, 经常会用到它,并且它能提升渲染效率 软硬…...

【深度学习:视频注释】如何为机器学习自动执行视频注释
【深度学习:视频注释】如何为机器学习自动执行视频注释 #1:多目标跟踪 (MOT) 以确保帧与帧之间的连续性#2:使用插值来填补空白#3: 使用微模型加速人工智能辅助视频注释#4: 自动目标分割提高目标分割质量 自动视频标记通…...

网络编程、UDP、TCP
计算机网络 就是将地理位置不同的具有独立功能的多台计算及外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件以及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 目的 传播交流信息、数据交换、通信 如何做…...

Maya笔记 设置工作目录
Maya会把素材场景等自动保存在工作目录里,我们可以自己定义工作目录 步骤1 创建workspace.mel文件 文件/设置项目 ——>选择一个文件夹,点击设置——>创建默认工作区 这一个后,可以在文件夹里看到.mel文件 步骤2 自动创建文件夹…...

MySQL:连接查询
连接查询是将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据; 查询t_book表数据 查询t_bookType表数据 1、内连接查询 內连接查询是一种最常用的连接查询。内连接查询可以查询两个或者两个以上的表; SELECT * FROM t_book,t_bo…...
歌尔气压计SPA06-003在无人机和手表上的创新应用
随着科技的不断进步,各类智能设备的功能日益强大,其中气压计作为一种能够测量大气压力的传感器,已被广泛应用于多种领域。歌尔气压计以其高精度、低功耗的特点,在无人机和智能手表上的应用尤为突出,为这两个领域的产品…...

从0到1实现五子棋游戏!!
Hello,好久不见宝子们,今天来给大家更一个五子棋的程序~ 我们今天要讲的内容如下: 文章目录 1.五子棋游戏介绍1.1 游戏玩法介绍: 2.准备工作2.1 具体操作流程 3.游戏程序主函数4.初始化棋盘4.1.定义宏变量4.2 初始化棋盘 5.打印…...

二叉树(C/C++)
本篇将较为详细的介绍二叉树的相关知识,以及二叉树的实现。对于二叉树的相关知识,本篇介绍了其概念、特殊的二叉树、性质还有存储结构。 接着对于实现二叉树的每个函数都有其思路讲解,主要的函数分为:遍历:前中后序遍历…...

Django学习笔记-ModelForm使用(完全依赖)
1.创建模型 ,code,name,sex,entrydate 2.模型映射 python manage.py makemigrations myapp01,python manage.py migrate 3.创建模型表单,继承forms.ModelForm,Meta:元数据,models需引入,fields填写引用的模型变量 4.创建testModelForm.html,添加urls 5.views编写testmodelfo…...

动态规划之使用最小花费爬楼梯【LeetCode】
动态规划之使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯解法1解法2 LCR 088. 使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯 解法1 状态表示(这是最重要的):dp[i]表示以第i级台阶为楼层顶部,到达第i层台阶的最低花费。 状…...

双指针---解决实际问题
...
每天一个数据分析题(一百七十八)
在大样本(样本量为n)下进行某一列数据(A列)均值的区间估计时,假设点估计的值计算为a,显著性水平为0.05,z0.025为给定的显著性水平下的正态分布的临界值,则使用EXCEL的计算方法正确的…...

Ethernet/IP转Modbus TCP网关
产品功能 1 YC-EIP-TCP工业级EtherNet/IP 网关 2 Modbus TCP 转 EtherNet/IP 3支持ModBus主从站 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与ModBus互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆龙PLC 支持罗克韦尔(AB) 典…...

const详解
文章目录 简介什么是const呢?const 的使用1.用来定义常量2.和指针相关的const3.函数与const4.类中使用const(重点) c中去掉const属性验证不同对象的调用const修饰类内成员 c中的const 和 c中的const 的区别c中的const为什么c中的const常量又不能通过指针修改呢 const 和 #defi…...
多方面浅谈互联网技术
目录 方向一:物联网技术概述 方向二:物联网技术的应用 方向三:物联网发展所需技术和创新挑战 物联网技术(Internet of Things,IoT)是一种将各种智能设备、传感器、电子产品等连接起来,通过互…...

Oracle EBS GL 外币折算逻辑
背景 由于公司财务在10月份期间某汇率维护错误,导致帐套折算以后并合传送至合并帐套生成合并日记帐凭证的借贷金额特别大,但是财务核对的科目余额有没有问题,始终觉得合并日记帐生成会计分发有问题,需要我们给出外币折算逻辑。 基础设置 汇率 Path: GL->设置->币种-&…...
Java面试题之mysql
Mysql 1. MySQL的索引原理是什么?什么是索引?以及索引的优缺点?2. 解释一下B树和B树的区别及各自定义?3. MyISAM索引和Innodb索引的区别?4. 什么是聚簇索引?辅助索引?5.非聚簇索引一定会回表查询么?6. 什…...
抖音直播封禁申诉话术怎么讲?抖音直播封号怎么申请解封?
一.抖音直播封禁申诉话术怎么讲? 1. 了解封禁原因:首先,您需要清楚自己为何被封禁。抖音通常会在封禁时给出原因,如违规内容、恶意行为等。了解原因有助于您针对性地构建申诉话术。 2. 表达诚挚歉意:在申诉话术中,首…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...