Drag&Drop à l'interieur d'une listbox

sousoulebarbu
Messages postés
101
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
11 janvier 2009
- 8 juin 2006 à 14:10
sousoulebarbu
Messages postés
101
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
11 janvier 2009
- 8 juin 2006 à 14:25
Bonjour,
J'aurais aimé savoir si l'un d'entre vous sait comment faire un drag&drop à l'interieur d'un lisbox: J'aimerais pouvoir déplacer un item grâce à la souris à l'interieur de ce listbox.
J'ai cherché partout sans trouver la réponse, à l'aide!!!
NB: Je suis en vb2005

1 réponse

sousoulebarbu
Messages postés
101
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
11 janvier 2009

8 juin 2006 à 14:25
Je viens de le coder, mais si quelqu'un a une technique plus "propre", je suis preneur

Public Class Form1
    Private ind As Integer = -1
    Private txt As String
    Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
        '
        ' Possition de la selection
        '
        Dim IntIndex As Integer = ListBox1.IndexFromPoint(e.X, e.Y)
        If IntIndex <> ListBox.NoMatches Then
            ind = IntIndex
        Else
            ind = -1
        End If
    End Sub

    Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove
        Dim IntIndex As Integer = ListBox1.IndexFromPoint(e.X, e.Y)

        If ind <> -1 And e.Button <> Windows.Forms.MouseButtons.None And IntIndex <> ind Then
            txt = ListBox1.Items(ind)
            ListBox1.Items.Remove(ListBox1.Items(ind))
            If IntIndex <> ListBox.NoMatches Then
                ListBox1.Items.Insert(IntIndex, txt)
            Else
                ListBox1.Items.Add(txt)
            End If
            ind = IntIndex
        End If
    End Sub
End Class
0