Click here to Skip to main content
6,295,667 members and growing! (15,500 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
Posted:13 Nov 2008
Views:5,198
Bookmarked:15 times
Announcements
Loading...
 
Search    
Advanced Search
printPrint   Broken Article?Report       add Share
  Discuss Discuss   Recommend Article Email
7 votes for this article.
Popularity: 3.26 Rating: 3.86 out of 5
1 vote, 14.3%
1

2

3

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


Member

Location: United States United States

Other popular Miscellaneous articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 2 of 2 (Total in Forum: 2) (Refresh)FirstPrevNext
GeneralCategorize it PinmvpJohn Simmons / outlaw programmer6:39 13 Nov '08  
AnswerRe: Categorize it PinmemberRezied7: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
Web11 | Advertise on the Code Project