Click here to Skip to main content
5,788,212 members and growing! (17,756 online)
Email Password   helpLost your password?
Desktop Development » Miscellaneous » Windows Forms     Beginner License: The Code Project Open License (CPOL)

Example of Drag and Drop using Files

By Rezied

I wrote a little example app that merges text files that you drag and dropped into the listview
VB.NET 2.0, .NET

Posted: 13 Nov 2008
Updated: 13 Nov 2008
Views: 2,973
Bookmarked: 13 times
Announcements
Loading...



Search    
Advanced Search
Sitemap
7 votes for this Article.
Popularity: 3.26 Rating: 3.86 out of 5
1 vote, 14.3%
1
0 votes, 0.0%
2
0 votes, 0.0%
3
0 votes, 0.0%
4
6 votes, 85.7%
5

Introduction

Well this is just a pretty straightforward example of how to create a drag and drop feature that can list the file paths of the files that were dragged into the listview. Feel free to use it however you like... I hope this example helps some of the VB.NET developers.

Using the Code

There are really only two things that are needed to create a drag and drop feature...

First: You need to have a Private Sub Method that is: "DragEnter" and choose what kind of DataFormat you wish to use... In this example, I chose FileDrop.  You also need to choose what kind of effect you want the drag and drop feature to do. For instance, I chose "copy". You can choose whatever best fits with the type of application that you are designing.

Second: You will need to have a Private Sub Method that is: "DragDrop". This is where you want to specify what you want to do with the DataFormat that was copied. Below are examples of the first and second subs that I used to create the drag and drop feature. 

    Private Sub lstFiles_DragEnter(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFiles.DragEnter
        'SET THE PROPER ACTION FOR FILE DROP....BY USING THE FILEDROP METHOD TO COPY
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub 
   Private Sub lstFiles_DragDrop(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFiles.DragDrop
        'NOW THIS IS WHAT SHOULD TAKE PLACE FOR THE APP TO ADD THE TEXT FILE
        ' PATHS TO THE LIST VIEW ITEMS
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            Dim filePaths As String() = CType(e.Data.GetData_
				(DataFormats.FileDrop), String())
            For Each filePath As String In filePaths

                Dim chkExt As String = _
			My.Computer.FileSystem.GetFileInfo(filePath).Extension
                'I'M STILL LEARNING SO PLEASE DON'T CRITISIZE ME TO BAD....
                'THIS IS THE ONLY METHOD THAT I KNOW HOW TO CALCULATE THE FILE SIZE....
                Dim chkSize As String = _
			My.Computer.FileSystem.GetFileInfo(filePath).Length
                chkSize = chkSize / 1024

                'THIS IS WHAT I USED TO ROUND THE SIZE TO 2 DECIMAL POINTS...
                Dim d As Decimal
                d = Decimal.Round(chkSize, 2, MidpointRounding.AwayFromZero)

                'THIS WILL ADD THE FILEPATHS AND THE FILES SIZE TO THE LIST VIEW
                Dim LI As ListViewItem
                LI = Me.lstFiles.Items.Add(filePath)
                LI.StateImageIndex = 0
                LI.SubItems.Add(d & " kb")

            Next filePath
        End If
    End Sub 

Points of Interest

Pretty simple really. I was just bored at the office and wanted something to do.

History

  • 13th November, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Rezied



Location: United States United States

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 2 of 2 (Total in Forum: 2) (Refresh)FirstPrevNext
GeneralCategorize itmvpJohn Simmons / outlaw programmer6:39 13 Nov '08  
AnswerRe: Categorize itmemberRezied7:56 13 Nov '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 13 Nov 2008
Editor: Deeksha Shenoy
Copyright 2008 by Rezied
Everything else Copyright © CodeProject, 1999-2009
Web18 | Advertise on the Code Project