vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: TextBox, ListBox & ComboBox15.06.05
Drag & Drop zwischen zwei Listboxen (VB.NET)

VB-Version:  VB5, VB6
 Views:  17.365 

Einzelne Einträge mittels Drag & Drop von einer Listbox in die andere zu verschieben geht so:

Sie benötigen 2 Listboxen (lbxSource u. lbxDest), deren Eigenschaft AllowDrop = True gesetzt werden muss und folgenden Code:

Private Sub form_load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
 
  ' Listbox mit Einträgen füllen
  lbxSource.Items.Add ("Eintrag 1")
  lbxSource.Items.Add ("Eintrag 2")
  lbxSource.Items.Add ("Eintrag 3")
End Sub
 
Private source As ListBox
Private sourceIndex As Integer
 
Private Sub lbxSource_MouseDown(ByVal sender As System.Object, _
  ByVal e As System.Windows.Forms.MouseEventArgs) _
  Handles lbxSource.MouseDown, lbxDest.MouseDown
 
  Dim aPoint As Point
  Dim lbx As ListBox
  Dim aIndex As Integer
 
  lbx = CType(sender, ListBox)
  aPoint = New Point(e.X, e.Y)
  aIndex = lbx.IndexFromPoint(aPoint)
  If aIndex <= 0 Then
    source = lbx
    sourceIndex = aIndex
    lbx.DoDragDrop(lbx.Items(aIndex), DragDropEffects.All)
  End If
End Sub
 
Private Sub lbx1_DragDrop(ByVal sender As System.Object, _
  ByVal e As System.Windows.Forms.DragEventArgs) Handles lbxDest.DragDrop
 
  Dim lbx As ListBox
 
  lbx = CType(sender, ListBox)
  If Not source Is Nothing Then
    source.Items.RemoveAt (sourceIndex)
  End If
  lbx.Items.Add (e.Data.GetData(DataFormats.Text))
End Sub
 
Private Sub lbx1_DragEnter(ByVal sender As System.Object, _
  ByVal e As System.Windows.Forms.DragEventArgs) Handles lbxDest.DragEnter
 
  If (e.Data.GetDataPresent(DataFormats.Text)) Then
    e.Effect = DragDropEffects.All
  Else
    e.Effect = DragDropEffects.None
  End If
End Sub

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.