以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]ListView 拖拽代码冲突 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127615) |
-- 作者:天一生水 -- 发布时间:2018/11/18 10:41:00 -- [求助]ListView 拖拽代码冲突 如图,希望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() \'恢复绘制 |
-- 作者:有点甜 -- 发布时间:2018/11/18 23:18:00 -- 交换两段代码位置 |
-- 作者:天一生水 -- 发布时间:2018/11/20 20:16:00 -- 老师,我试了,还是不行。 |
-- 作者:有点蓝 -- 发布时间: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 |