Foxtable(狐表)用户栏目专家坐堂 → [求助]ListView 拖拽代码冲突


  共有2267人关注过本帖树形打印复制链接

主题:[求助]ListView 拖拽代码冲突

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]ListView 拖拽代码冲突  发帖心情 Post By:2018/11/18 10:41:00 [只看该作者]

如图,希望ListView支持拖拽放入图片,并支持ListView内拖拽移动位置。

但是在窗口AfterLoad中1和2代码并存时,第2段代码就不起作用了;注销代码1,代码2运行没问题,请老师帮助看一下,是哪里的问题?
谢谢!

'1、拖拽图片至ListView
Dim t1 As windows.Forms.listview = e.Form.Controls("ListView1").basecontrol
t1.AllowDrop = True
't.HoverSelection = True   '鼠标移动选中行
AddHandler t1.DragDrop, AddressOf picture_DragDrop
AddHandler t1.DragEnter, AddressOf picture_DragEnter
'-------------------------------------

'2、ListView拖拽移动
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.AllowDrag = True '允许拖动行
lvw.AllowDrop = True '允许接收拖动过来的行
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.LargeIcon '显示模式为 大图标
lvw.Images.LargeSize = New Size(70,99) '定义大图标尺寸
For Each dr As DataRow In DataTables("图片列表").DataRows '从数据表中提取数据
    Dim Key As String = dr("文件名") '获取此员工的照片文件
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.Text = dr("文件名")  '设置标题
    vr.ImageKey = Key '设置图片键值
Next
lvw.ResumeRedraw() '恢复绘制



图片点击可在新窗口打开查看此主题相关图片如下:image 00.jpg
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试拖拽.foxdb

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/18 23:18:00 [只看该作者]

交换两段代码位置

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/11/20 20:16:00 [只看该作者]

老师,我试了,还是不行。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/20 21:10:00 [只看该作者]

全局代码

Public Sub picture_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
If (e.Data.GetDataPresent(Windows.Forms.DataFormats.FileDrop)) Then
    e.Effect = Windows.Forms.DragDropEffects.Link
    sender.Cursor = System.Windows.Forms.Cursors.Arrow
Else
    e.Effect = e.AllowedEffect
End If
End Sub


 回到顶部