欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > C# 拖入文件 只能拖入txt文件

C# 拖入文件 只能拖入txt文件

2025/2/25 20:30:19 来源:https://blog.csdn.net/polloo2012/article/details/145345083  浏览:    关键词:C# 拖入文件 只能拖入txt文件

要实现只能将 .txt 文件拖入 Button 控件(如 button1)并获取其路径,可以在之前的基础上添加文件类型的检查逻辑。以下是具体实现步骤和示例代码:

1. 创建 Windows Forms 项目

打开 Visual Studio,创建一个新的 Windows Forms 应用程序项目。

2. 设计界面

在窗体上添加一个 Button 控件,将其命名为 button1

3. 编写代码

using System;
using System.IO;
using System.Windows.Forms;namespace DragTxtFileToButton
{public partial class Form1 : Form{public Form1(){InitializeComponent();// 启用按钮的拖放功能button1.AllowDrop = true;// 订阅拖放相关事件button1.DragEnter += Button1_DragEnter;button1.DragDrop += Button1_DragDrop;}private void Button1_DragEnter(object sender, DragEventArgs e){// 检查拖入的数据是否包含文件if (e.Data.GetDataPresent(DataFormats.FileDrop)){string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop);bool allTxtFiles = true;// 检查每个文件是否为 .txt 文件foreach (string filePath in filePaths){if (Path.GetExtension(filePath).ToLower() != ".txt"){allTxtFiles = false;break;}}if (allTxtFiles){// 允许拖放操作e.Effect = DragDropEffects.Copy;}else{// 不允许拖放操作e.Effect = DragDropEffects.None;}}else{// 不允许拖放操作e.Effect = DragDropEffects.None;}}private void Button1_DragDrop(object sender, DragEventArgs e){// 获取拖放的文件路径string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop);if (filePaths != null && filePaths.Length > 0){foreach (string filePath in filePaths){// 检查文件是否存在且为 .txt 文件if (File.Exists(filePath) && Path.GetExtension(filePath).ToLower() == ".txt"){// 显示文件路径MessageBox.Show($"你拖入的 .txt 文件路径是:{filePath}");}else{MessageBox.Show($"文件 {filePath} 不是有效的 .txt 文件或不存在。");}}}}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词