C# 文件拖入控件中,显示文件路径

1.设置所需拖入的控件(以Textbox为列)属性为:

cs 复制代码
this.textBox1.AllowDrop = true; //设置AllowDrop 属性为 true,使之支持拖拽,否则拖拽显示禁用状态

2.设置该控件的两个事件,分别为:

①DragEnter 在用鼠标将某项拖动到该控件的工作区时发生。

②DragDrop 拖放操作完成时发生。

3.编写事件后台代码

cs 复制代码
  private void textBox1_DragEnter(object sender, DragEventArgs e)
  {
      if (e.Data.GetDataPresent(DataFormats.FileDrop))
      {
          e.Effect = DragDropEffects.Link;
      }

      else
      {
          e.Effect = DragDropEffects.None;
      }
  }

  private void textBox1_DragDrop(object sender, DragEventArgs e)
  {
      string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
      textBox1.Text = path;
  }

4.运行结果

相关推荐
峥无17 分钟前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
波特率11520020 分钟前
C++新特性---属性说明符与标准属性
开发语言·c++
程序员小八77724 分钟前
上海百度B端java后端日常实习一面
java·开发语言
wp123_135 分钟前
IPX8 防水 Type‑C连接器:安费诺 124018792112A 与 TONEVEE TY48087‑24A 技术梳理
c语言·开发语言
不会代码的小猴1 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
fangzhanpeng1681 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
mqiqe4 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
xixiaoyunya5 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
zjnlswd5 小时前
C#学习笔记4
笔记·学习·c#
精英的英5 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt