以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]ListView支持拖拽显示图片吗 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117508) |
||||
-- 作者:jyh7081 -- 发布时间:2018/4/13 16:56:00 -- [求助]ListView支持拖拽显示图片吗 先把窗口中的ListView控件绑定数据表的[图片]列;当鼠标向ListView控件拖拽图片文件时,获取图片路径及名称; 数据表增加一行,[图片]列取文件名,再自动复制一份图片文件到项目Attachments下。最后生成ListView,这种想法是否可行? 以前有个向面板拖拽的例子,能否修改为向ListView控件拖拽? 请老师指教,谢谢! \'全局代码 Public Sub picture_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Dim paths As object() = e.Data.GetData(Windows.Forms.DataFormats.FileDrop) For Each path As object In paths msgbox(path) Next sender.Cursor = System.Windows.Forms.Cursors.IBeam End Sub 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 = Windows.Forms.DragDropEffects.None End If End Sub \'-------------------------------- 窗口AfterLoad Dim t As windows.Forms.panel = e.Form.Controls("panel1").basecontrol t.AllowDrop = True AddHandler t.DragDrop, AddressOf picture_DragDrop AddHandler t.DragEnter, AddressOf picture_DragEnter |
||||
-- 作者:有点甜 -- 发布时间:2018/4/13 17:19:00 -- Dim t As windows.Forms.panel = e.Form.Controls("panel1").basecontrol
改成
Dim t As windows.Forms.listview = e.Form.Controls("listview1").basecontrol
然后,在DragDrop事件里面写代码处理你的逻辑即可。 |
||||
-- 作者:jyh7081 -- 发布时间:2018/4/14 20:01:00 -- 找不到DragDrop事件;还存在几个问题: 1、一部分代码写到全局代码里了,请老师看看是否合适? 2、生成listview的代码写在了datacolchanged事件和窗口的AfterLoad事件里; 已经设置了图片可移动和接收移动的代码,但是移动不了; 3、“删除图片”按钮怎样同时删除数据表中的行,与数据表同步的代码也没运行? 谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2018/4/15 12:12:00 -- 1、你测试拖动后有什么问题?没有增加行等操作?
2、拖动图片建立,不触发代码?
3、参考 http://www.foxtable.com/webhelp/scr/2782.htm
|