Make sure the drop data is Text
Imports System Imports System.Runtime.InteropServices Imports System.Drawing Imports System.ComponentModel Imports System.Windows.Forms Imports System.IO Imports System.Xml.Serialization Public Class MainClass Shared Sub Main(ByVal args As String()) Dim myform As New Form1() Application.Run(myform) End Sub End Class Public Class Form1 ' Start a drag. Private Sub lblDragSource_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles lblDragSource.MouseDown lblDragSource.DoDragDrop("Data!", DragDropEffects.Copy) End Sub ' Make sure the drag is coming from lblDragSource. Private Sub lblDropTarget_DragEnter(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DragEventArgs) Handles lblDropTarget.DragEnter ' See if the drag data includes text. If e.Data.GetDataPresent("Text") Then e.Effect = DragDropEffects.Copy Else e.Effect = DragDropEffects.None End If End Sub ' Display the dropped data. Private Sub lblDropTarget_DragDrop(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DragEventArgs) _ Handles lblDropTarget.DragDrop MessageBox.Show(e.Data.GetData("Text").ToString) End Sub End Class <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Public Class Form1 Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.lblDragSource = New System.Windows.Forms.Label Me.lblDropTarget = New System.Windows.Forms.Label Me.SuspendLayout() ' 'lblDragSource ' Me.lblDragSource.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.lblDragSource.Location = New System.Drawing.Point(16, 16) Me.lblDragSource.Name = "lblDragSource" Me.lblDragSource.Size = New System.Drawing.Size(96, 64) Me.lblDragSource.TabIndex = 0 Me.lblDragSource.Text = "Drag Source" Me.lblDragSource.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'lblDropTarget ' Me.lblDropTarget.AllowDrop = True Me.lblDropTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.lblDropTarget.Location = New System.Drawing.Point(168, 16) Me.lblDropTarget.Name = "lblDropTarget" Me.lblDropTarget.Size = New System.Drawing.Size(96, 64) Me.lblDropTarget.TabIndex = 1 Me.lblDropTarget.Text = "Drop Target" Me.lblDropTarget.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(279, 95) Me.Controls.Add(Me.lblDropTarget) Me.Controls.Add(Me.lblDragSource) Me.Name = "Form1" Me.Text = "LabelDrag" Me.ResumeLayout(False) End Sub Friend WithEvents lblDragSource As System.Windows.Forms.Label Friend WithEvents lblDropTarget As System.Windows.Forms.Label End Class