How to Drag Drop and Copy Control in VB.net with Source Code
This tutorial is all about How to Drag Drop and Copy Control in VB.net. In this tutorial, I will teach you how to create Drag/Drop and Copy Control in VB.Net.
With this, you can move and drop the picture that’s inside the PictureBox to another PictureBox and you can also copy it by pressing the Ctrl key on the keyboard of the computer.
What is Visual Basic’s purpose?
The third-generation programming language was created to aid developers in the creation of Windows applications. It has a programming environment that allows programmers to write code in.exe or executable files.
They can also utilize it to create in-house front-end solutions for interacting with huge databases. Because the language allows for continuing changes, you can keep coding and revising your work as needed.
However, there are some limits to the Microsoft Visual Basic download. If you want to make applications that take a long time to process, this software isn’t for you.
That implies you won’t be able to use VB to create games or large apps because the system’s graphic interface requires a lot of memory and space.
Furthermore, the language is limited to Microsoft and does not support other operating systems.
What are the most important characteristics of Visual Basic?
Microsoft Visual Basic for Applications Download, unlike other programming languages, allows for speedier app creation. It has string processing capabilities and is compatible with C++, MFC, and F#.
Multi-targeting and the Windows Presentation Framework are also supported by the system, allowing developers to create a variety of Windows apps, desktop tools, metro-style programs, and hardware drivers.
Let’s begin:
Open the Visual Basic, Create a new Windows Form Application and drag the two picture boxes in the Form. Then, name the first picture box “lpic” and the other one is “rpic”.
After setting the Form and naming the two PictureBoxes, go to the solution explorer and click the code view.
In the code view, you have to declare a constant variable that is needed for detecting the CRLT key on the keyboard.
[vbnet]
' DECLARE A CONSTANT VARIABLE TO USED FOR DETECTING THE CTRL KEY WHEN IT
' WAS PRESSED DURING THE DRAG OPERATION
Const MASKCTRL As Byte = 8
[/vbnet]After that, go back to the Form Design and double click it to fire the Form_Load event handler. Then, you have to activate the AllowDrop property of the PictureBox.
[vbnet]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'SET THE PROPERTIES OF THE PICTUREBOX FOR ALLOWING TO DROP.
lpic.AllowDrop = True
rpic.AllowDrop = True
End Sub
[/vbnet]Go back to the Form Design again and click the two picture boxes on the Form. Go to the properties and click the events on the top that looks like a lightning. Choose the MouseDown event and double click it.

After that, you have to activate the drag and drop operation.
[vbnet]
Private Sub PictureBox_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lpic.MouseDown, rpic.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
Dim pictures As PictureBox = CType(sender, PictureBox)
'IT WILL ACTIVATE THE DRAG AND DROP OPERATION
If Not pictures.Image Is Nothing Then
pictures.DoDragDrop(pictures.Image, DragDropEffects.Move Or DragDropEffects.Copy)
End If
End If
End Sub
[/vbnet]After activating the drag and drop operation, go to the method name and choose the DragEnter for the events.

Now, you have to activate the copy control of the picture.
[vbnet]
Private Sub PictureBox_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lpic.DragEnter, rpic.DragEnter
'CHECKING THE DRAG CONTENT TO MAKE SURE THAT, THE TYPE IS ACCURATE FOR THIS CONTROL
If (e.Data.GetDataPresent(DataFormats.Bitmap)) Then
'CHECKING IF THE CTRL KEY WAS PRESSED
'AND IF THE CTRL KEY IS PRESS PERFORM COPY AND IT IS NOT PERFORM MOVE.
If (e.KeyState And MASKCTRL) = MASKCTRL Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.Move
End If
Else
'THE DROP EFFECT IS REJECTED.
e.Effect = DragDropEffects.None
End If
End Sub
[/vbnet]Go back to the method name again ,choose DragDrop for the events and you have to activate the move control of the picture.
[vbnet]
Private Sub PictureBox_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lpic.DragDrop, rpic.DragDrop
'THE IMAGE WILL DISPLAY TO THE SELECTED PICTUREBOX.
Dim PIC As PictureBox = CType(sender, PictureBox)
PIC.Image = CType(e.Data.GetData(DataFormats.Bitmap), Bitmap)
'IF THE PICTURE IN THE PICTUREBOX WAS MOVE, THE OTHER BOX BECOMES EMPTY.
If (e.KeyState And MASKCTRL) <> MASKCTRL Then 'CHECKING THE CTRL KEY WAS NOT PRESSED.
If sender Is lpic Then
rpic.Image = Nothing
Else
lpic.Image = Nothing
End If
End If
End Sub
[/vbnet]You can download the complete source code.
Related Article you may like:
- Internet Laboratory Management System
- Cafe Reservation System Source Code
- Point of Sale and Inventory System
If you have any questions or suggestions about this management system project or How to Drag Drop and Copy Control in VB.net with Source Code, just send your inquiry using our contact page or simply leave a comment below.
Frequently Asked Questions
What does this VB.NET tutorial cover?
Focused VB.NET language or library tutorial showing a single concept with working code. Use as a building block when assembling a larger system.
What Visual Studio and SQL Server versions does this VB.NET project require?
Most projects use VB.NET WinForms on .NET Framework 4.5+ with SQL Server 2012 Express or higher. To run: install Visual Studio 2019 / 2022 (Community is free) with the ‘Desktop development with .NET’ workload, install SQL Server Express + SSMS, open the .sln file, build, run.
How do I set up the database for this VB.NET project?
Open SQL Server Management Studio (SSMS) and connect to your SQL Server (e.g. localhost\SQLEXPRESS). Right-click Databases, choose Restore Database OR New Database then import the included .sql script. Update the connection string in App.config (or in code-behind Module) with your server name + credentials. Rebuild and run.
Can I use this VB.NET project for a BSIT capstone or thesis?
Yes, VB.NET is one of the most accepted languages by Philippine BSIT panels. Extend it: add role-based access (admin/staff/customer login redirect), Crystal Reports or RDLC reports, dashboards with Chart control, audit log, multi-branch support. Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘cannot find SQL Server’?
Three common VB.NET issues: (1) Connection error: SQL Server isn’t running. Open SQL Server Configuration Manager and verify SQL Server (SQLEXPRESS) service is started. (2) Wrong server name in connection string. Try .\SQLEXPRESS, (local)\SQLEXPRESS, or your machine name. (3) Login failed: SQL Server is set to ‘Windows-only’ authentication. Switch to Mixed Mode in SSMS Server Properties, Security.
Where can I find more VB.NET projects with source code?
Browse the VB.NET Projects hub for the full library. For C# WinForms alternatives see C# Projects. For ASP.NET web alternatives see ASP.NET Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.

