HOW TO:从资源管理器中拖放文件到控件

控件

HOW TO:从资源管理器中拖放文件到控件

当然,这里所谓的文件是指完整的文件名称,至于文件的内容,须按实际情况进一步的操作。

我这里的控件为一个ListBox。代码如下:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.ListBox1.AllowDrop = True

    End Sub

 

    Private Sub ListBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter

        Dim o As Object = e.Data.GetData(DataFormats.FileDrop)

        If Not o Is Nothing Then

            e.Effect = DragDropEffects.Copy

        End If

    End Sub

 

    Private Sub ListBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop

        Dim FileNames As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())

        Me.ListBox1.Items.AddRange(FileNames)

End Sub

 

重写这个HOW TO,主要的是看到有人用API实现,代码如下:

 

    Private Const WM_DROPFILES As Integer = 563

    Private Declare Function DragAcceptFiles Lib "shell32.dll" (ByVal hwnd As IntPtr, ByVal accept As Boolean) As Long

    Private Declare Function DragQueryFile Lib "shell32.dll" (ByVal hDrop As IntPtr, ByVal file As Integer, ByVal fileName As System.Text.StringBuilder, ByVal size As Int32) As Int32

    Private Declare Sub DragFinish Lib "Shell32.dll" (ByVal hDrop As IntPtr)

 

    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

        If m.Msg = WM_DROPFILES Then

            Dim iNumOfFiles As Int32 = DragQueryFile(m.WParam, &HFFFFFFFF, Nothing, 0)

            Dim iPnt As Int32

            For iPnt = 0 To iNumOfFiles - 1

                Dim sb As New System.Text.StringBuilder(256)

                Dim iRet As Int32 = DragQueryFile(m.WParam, iPnt, sb, sb.Capacity)

                ListBox1.Items.Add(sb.ToString)

            Next

            DragFinish(m.WParam)

        Else

            MyBase.WndProc(m)

        End If

    End Sub

 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        DragAcceptFiles(ListBox1.Handle, True)

    End Sub

时间: 2024-09-10 06:33:08

HOW TO:从资源管理器中拖放文件到控件的相关文章

Win8.1在文件资源管理器中搜索文件

  若要在文件资源管理器中搜索文件,请打开文件资源管理器并使用右上角的搜索框. 通过以下方式打开"这台电脑":从屏幕的右边缘向中间轻扫,点击"搜索"(如果使用鼠标,则指向屏幕的右上角,然后将鼠标指针向下移动,再单击"搜索"),在搜索框中输入这台电脑,然后点击或单击"这台电脑". 搜索功能会在你查看位置的所有文件夹和子文件夹中查找. 在搜索框内点击或单击时,将显示"搜索工具"选项卡. 输入搜索词后,将开始显示

vb2005 从资源管理器拖放文件到控件中?

问题描述 网上找了很多,但都只能从窗体控件到控件的拖动能够成功,而从资源管理器到控件的拖动却怎么也不行,网上的例子都讲到有,但却不能实现.api函数用过能行,但是太复杂了,难道就不能用vb2005里面的那几个事件来用吗?帮助文档和网上看的都写的可以,但调试的时候就是不行.我还跟踪了拖放有关的事件,当从资源管理器拖动文件到窗体控件中时,那几个事件根本就没有触发,这是怎么回事?这是我的代码:PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeA

windows系统怎么设置资源管理器中打开文件夹在同一窗口中打开

首先打开"我的电脑",或者任意一个文件夹,在窗口的上面鼠标点击"工具"--"文件夹选项",弹出对话框. 在弹出的"文件夹选项"对话框之后,找到"在同一窗口中打开每个文件夹"并点选,然后"确定"保存就可以了.

在Win8系统下清除文件资源管理器中常用位置的方法

在Win8系统下清除文件资源管理器中常用位置的方法: 在Win8的文件资源管理器中,我们单击"文件",可以在右侧看到一个"常用位置"的列表.我们可以在其中找到我们经常访问的位置,方便我们的访问.如果你不希望其它用户在访问你的电脑时看到这些位置信息,我们可以将该列表清空. 具体操作方法如下: 首先打开文件资源管理器, 需要注意的是,"删除历史记录"中的两个选项无法对"常用位置"信息造成任何改变. 我们需要的是,在任务栏,单击右键

Win8.1在文件资源管理器中搜索Word文档的方法

  Win8.1在文件资源管理器中搜索Word文档的方法           具体方法如下: 1.打开文件资源管理器,例如打开E盘,右上角会有搜索框; 2.现在想搜索文件,在搜索框中输入搜索的内容,可以输入文件名直接搜索.如果不知道文件名,可以在搜索框中输入"*.扩展名"来搜索,例想搜索Word文档,可以输入"*.doc"来搜索; 3.搜索功能会在你查看位置的所有文件夹和子文件夹中查找扩展名含doc的文件; 4.单击"搜索"选项卡.如何知道大约修

Win7系统资源管理器中轻松实现文件反向选择

  我们在使用Windows时会经常用到文件选择,如果需要选择的文件比较多则会采用反选文件的方式--先选择数量比较少的选择外文件,然后再反选,这样可以避免过多逐项选择的麻烦.不过我们在Win7资源管理器的文件右键菜单中找不到文件"反向选择"的功能(如下图),难道Win7没有提供文件反选的功能吗?当然不是,我们只需要简单操作几下,就可以在Win7资源管理器中轻松实现文件反选. 图示:Win7资源管理器的文件右键菜单找不到"反向选择"的功能 比如现在我们需要删除&quo

Windows 10如何删除资源管理器中的文档/音乐/视频等文件夹?

Win10如何删除资源管理器中的文档/音乐/视频等文件夹?使用Win10系统的用户都知道,打开此电脑之后,资源管理上面会显示文档/音乐/视频等6个文件夹,一些用户认为很少使用到它们,想要除之而后快,那么该如何操作呢?这里我们又要使用到注册表了,大家请看下文操作吧! 操作如下: 1.先看看这几个吧,它们的存在让一些童鞋很不淡定. 2.按下Win+R,输入regedit回车,打开注册表. 3.定位以下位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\

win8资源管理器中功能区快捷键显示应用技巧

win8的改变真的是太大了,它不仅用开始屏幕取代了原来开始菜单的功能,预设了众多程序和应用,让用户直接点击屏幕上应用程序就能快速启动和使用. 另外,win8在资源管理器方面,也有诸多特别的设计.下面主要介绍学习下win8资源管理器中功能区快捷键的显示和应用技巧. 首先,打开"计算机",你就可以看到功能区中,有"文件"."计算机"."查看"三个选项,按一下"Alt"键,即可快速显示菜单功能快捷键,如下图所示:

巧用windows7资源管理器快速查找文件

  windows7资源管理器的最大妙用在于预览功能,比如我们一个文件夹里有很多照片,我们需要找到一个我们比较喜欢的那张,一般大家都是一张一张的去打开查找,但是用windows7资源管理器预览即可轻松查找,另外windows7资源管理器不仅仅支持图片预览,还支持PPT文档,word文档以及音乐文件是视频文件等,功能相当实用,下面我们一起来学习下.使用windows7资源管理器快速查找所需图片,视频文件.PDF文档.word文档等等. 有的时候,我们一个文件夹里放置有了很多图片,但如何快速找到我们