文件拖放到窗体事件

网上的实现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);}}}
}

参考链接

拖放文件到窗体_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://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日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键安装|卸载 mysql 8.2.0 shell脚本

场景:为了在无网、外网 mysql 安装方便,这里分享一个自己编写得 shell脚本 这里以当前最新版 mysql 8.2.0;centos-7 二进制包下载: 下载地址 mysql_install.sh #!/bin/bash # 解压安装包 tar -xf mysql-8.2.0-linux-glibc2.17-x8…

GO语言学习笔记(与Java的比较学习)(三)

函数 按值传递(call by value) 按引用传递(call by reference) Go 默认使用按值传递来传递参数,也就是传递参数的副本。函数接收参数副本之后,在使用变量的过程中可能对副本的值进行更改,但不…

TC3xx SMU、PMIC和Tranceiver的功能安全闭环

目录 1.TLF35584安全状态输出响应对象 1.1 响应ERR 收集到的错误信号 1.2 响应监控功能引发的ROT 1.3 响应看门狗引发的错误 1.4 环境过温引发的错误状态 1.5 为什么设计SSx? 2. 安全状态输出给谁 3.小结 在之前文章里,我们简述了TC3xx SMU如何…

npm install常见错误的完整指南

目录 1. ERR! Error: EACCES2. ERR! ENOENT3. ERR! network timeout4. ERR! Maximum call stack size exceeded5. ERR! Failed at the xxxxxx install script6. ERR! code EINTEGRITY7. ERR! Please try running this command again as root/Administrator8. ERR! code ELIFECY…

尚硅谷(SpringCloudAlibaba微服务分布式)学习代码Eureka部分

1.项目结构 2.cloud2024 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.a…

ERPNext v14在ubuntu22上安装配置的完整过程

注意:在配置ERPNext之前,我是用virtualbox配置了好多次ubuntu22.04操作系统,一路都很通畅,唯独重启操作系统后,就会出现黑屏的现象。期间尝试了更改显存大小、内存大小、磁盘大小,甚至一度怀疑是自己电脑或者ubuntu22.04的镜像问题等等,一直未解决。真正的原因竟然是vir…

面试笔记系列六之redis+kafka+zookeeper基础知识点整理及常见面试题

Redis redis持久化机制&#xff1a;RDB和AOF Redis 持久化 Redis 提供了不同级别的持久化方式: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redi…

IPD(集成产品开发)—核心思想

企业发展到一定阶段就会遇到管理瓶颈&#xff0c;IPD流程是一种高度结构化的产品开发流程&#xff0c;它集成了业界很多优秀的产品开发方法论&#xff0c;像搭积木一样的组合成一种非常有效的流程。如果我们能根据企业的规模和行业特点&#xff0c;对全流程的IPD进行合适的裁剪…

Dell R730 2U服务器实践1:开机管理

新入手一台Dell R730 2U服务器&#xff0c;用来做FreeBSD下的编译工作和Ubuntu下简单的AI学习和调试。 服务器配置&#xff1a; CPU&#xff1a;E5 2680V4 2 14核心 内存&#xff1a;DDR4 ECC 16G2 2133 MHz 网卡&#xff1a;双千双万 Intel(R) 2P X540/2P I350 rNDC 硬盘…

html2canvas + JsPDF.js 导出pdf分页时的问题

问题描述 前一段时间 实现了html2canvas jspdf.js 导出pdf的功能 项目当时没有测试做完就先搁置 最近项目要上线发现分页时问题 这篇文章记录一下之前的bug import html2canvas from html2canvas; import JsPDF from jspdf export function savePdf(el, title) {html2canva…

能源计量器具的种类划分

能源计量器具是指测量对象为一次能源、二次能源和载能工质的计量器具。 1.能源计量器具的分类 (1)按结构特点分类。 量具&#xff0c;用固定形式复现量值的计量器具&#xff0c;如量块、砝码标准电池、标准电阻、竹木直尺、线纹米尺等。 计量仪器仪表&#xff0c;将被测量的量…

What to Look for When Evaluating Middleware for Integration

Game Engine Gem 1 1.1 我们该如何对待中间件 现代游戏很少有完全由内部开发人员编写的专有定制代码组成的作品。在游戏行业中竞争所需的大量精良功能&#xff0c;对于一个工作室来说简直就是一项艰巨的任务&#xff0c;用一句话概括就是 "无利可图"。如今&#xff0…

Google checkstyle实战

概述 CheckStyle检查代码是否符合制定的规范。CheckStyle检查是基于源码的&#xff0c;无需编译&#xff0c;执行速度快。 CheckStyle的主要流程是&#xff1a; 对Java文件进行词法语法分析&#xff0c;生成语法树。载入配置文件&#xff08;checkstyle-metadata.xml以及自定…

JAVA调用lua脚本

一、依赖包 <dependency><groupId>org.luaj</groupId><artifactId>luaj-jse</artifactId><version>3.0.1</version></dependency> 二、代码示例 // 脚本函数可以存在字符串中String formula "function ntc(n) return 2…

软考高级系统分析师:数据库知识点数据库的范式和例题

一、AI 解读 数据库范式是一组规则&#xff0c;用于指导数据库设计&#xff0c;以减少数据冗余、提高数据完整性&#xff0c;并支持更有效的数据处理。下面是几个常见的数据库范式&#xff0c;我将用通俗易懂的语言和示例来帮助你理解它们&#xff1a; 第一范式&#xff08;1…

【ElfBoard】基于 Linux 的智能家居小项目

大家好&#xff0c;我是 Hello阿尔法&#xff0c;这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动&#xff0c;并有幸成为了一名共创官&#xff0c;官方寄来了一块 ELF 1 开发板&#xff0c;开箱看这里 ELF 1 开箱初体验。 作为共创官&#xff0c;我…

C语言实现班级事务管理系统

班级事务管理系统采用C语言实现&#xff0c;可以用于课程设计和学习&#xff0c;代码有两个文件&#xff1a;班级事务管理系统.cpp和辅助操作.cpp。 班级事务管理系统.cpp代码如下&#xff1a; #include <stdio.h> #include <time.h> #include <conio.h> #…

数据可视化工具选择指南:山海鲸、Tableau与Power BI特点详解

在数据可视化的领域中&#xff0c;众多工具各有千秋。今天&#xff0c;我们将从客观的角度&#xff0c;对三款热门的数据可视化产品——山海鲸可视化、Tableau和Power BI进行深入的对比&#xff0c;帮助用户更全面地了解它们的特点&#xff0c;从而做出更明智的选择。 一、产品…

移动硬盘在电脑上显示不出来?三招教你轻松应对

随着网络的普及&#xff0c;数据的增多&#xff0c;对于数据储存的需要也是越来越多&#xff0c;相信许多人的手中都存在着一些如U盘、MP3、MP4、移动硬盘之类的储存设备&#xff0c;而在使用这些设备的时候&#xff0c;难免会遇到一些这样或那样的问题&#xff0c;比如移动硬盘…

微信小程序证书评级导致接口无法访问问题

微信小程序的ssl证书到期后&#xff0c; 更换了免费的ssl证书&#xff0c; 是在freessl网站申请的&#xff0c; 配置完了&#xff0c;后台可以访问https网页&#xff0c;但是小程序还是无法访问&#xff0c; 开始没有怀疑是https证书的问题&#xff0c; 调适了好长时间的代码&a…