苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 980|回复: 1

【求助】把一个文件拖到表中,触发哪个事件

[复制链接]

21

主题

35

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2023-4-28 13:39:47 | 显示全部楼层 |阅读模式
把一个文件拖到表中,触发哪个事件,怎么获取这个文件的路径和名称
回复

使用道具 举报

25

主题

313

帖子

2077

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2077
QQ
发表于 2023-4-28 14:59:36 | 显示全部楼层
首先打开表属性AllowDrop=True
DragMode=DragModeEnum.Manual
如果是模板窗体,可以考虑在表的AfterLoaded事件中写代码赋值。然后再写两个表事件DragEnter、DragDrop
注意:在程序在以管理员权限打开的情况下,拖拽功能的代码会失效,详情可参考:https://www.cnblogs.com/whr2071/p/15922643.html

  1.   Public Sub SmGrid1_DragEnter(sender As Object,e As  System.Windows.Forms.DragEventArgs)
  2.                         If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  3.                                 e.Effect = DragDropEffects.Link
  4.                         Else
  5.                                 e.Effect = DragDropEffects.None
  6.                         End If
  7.                 End Sub
  8.                
  9.                 Public Sub SmGrid1_DragDrop(sender As Object,e As  System.Windows.Forms.DragEventArgs)
  10.                         Dim arr As Array = e.Data.GetData(DataFormats.FileDrop)
  11.                         Dim strFile As String=arr.GetValue(0).ToString()
  12.                         Dim tbl As SmGrid=sender
  13.                         If tbl.CurrentRowData IsNot Nothing Then
  14.                                 tbl.CurrentRowData("CurrentAddress")=strFile
  15.                                 'tbl.CurrentRowData("仅文件名")=Path.GetFileName(strFile)
  16.                         End If
  17.                 End Sub
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2024-10-2 23:24 , Processed in 0.071812 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表