xuliyuan173
2015-04-29 05:49
采纳率: 25%
浏览 2.2k

C# WebBrowser 拖动文件问题

我想将桌面的多个文件一次性拖入到WebBrowser控件内;
拖入后根据htmlEditor1_HtmlNavigation事件 的e.URL获取桌面文件的文件地址;
最后将文件地址显示在程序中的textbox中;
但是当我拖动多个文件时 只能显示最后一个文件的文件地址,前几个获取不到;
我该如何一次获取所有拖入WebBrowser控件内的文件地址?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • blownewbee 2015-04-29 10:27
    已采纳

    因为你用的是歪打正着的办法
    webbrowser支持拖放文件进行跳转的特性,如果是多个文件,它跳转到最后一个文件地址上,所以你用e.url只能得到最后一个地址。
    换言之,这个事件执行的时候,其它文件早就被忽略了。
    要想真的获取所有文件,必须子类化webbrowser,拦截WM_DROPFILES

    点赞 打赏 评论
  • xuliyuan173 2015-04-29 05:50

    ![图片说明](https://img-ask.csdn.net/upload/201504/29/1430286633_601909.jpg)图片说明

    点赞 打赏 评论
  • XCBOSA 2015-05-03 08:23

    为什么要用WebBrowser呢?
    在窗体的DragDrop事件里写
    textBox.Text = e.FileName;
    不就完了吗?

    点赞 打赏 评论
  • XCBOSA 2015-05-03 08:26

    用DragDrop的GetData
    看看这个:
    http://www.cr173.com/html/17438_1.html

    点赞 打赏 评论
  • XCBOSA 2015-05-03 08:27

    如果你想让用户把文件拖动到一个区域的话,新建一个Panel然后再用Panel的DragDrop事件的的GetData

    点赞 打赏 评论

相关推荐 更多相似问题