IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Conflit click et drag n drop


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Par défaut Conflit click et drag n drop
    Bonjour,

    je développe actuellement un programme utilisant une listview dans laquelle chaque item peut etre cliqué, doublecliqué ou déplacé par drag'n drop.

    Or, je n'arrive pas à concilier les 3 evenements: des que j'implémente le drag n' drop (initialisé par un event mousedown), le click et le double click ne sont plus détectés. Ils reviennent des que j'enleve le "dodragdrop" de ma sub mousedown.

    Est ce que kkun a déja rencontré ce problème?

  2. #2
    Membre confirmé Avatar de salrouge
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Par défaut
    jai pas rencontré ce probleme avant mais, je sais pas si ca va marcher si tu appelle l'evenement click manuellement dans MouseDown ! je lai pas essayer mais je pense que ca doit marcher
    a+

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Par défaut
    Bonjour,
    Essaie en définissant une zone dans laquelle le dragDrop ne peut démarrer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ''' <summary>
      '''  Retourne un rectangle dans lequel le dragdrop ne démarre pas
      ''' </summary>
      ''' <param name="e"></param>
      ''' <returns></returns>
      ''' <remarks></remarks>
      Public Function F_RectDragDrop(ByVal e As System.Windows.Forms.MouseEventArgs) As Rectangle
        Dim Rect As New Rectangle
        Dim DragSize As Size = SystemInformation.DragSize
        Rect.X = CInt(e.X - (DragSize.Width / 2))
        Rect.Y = CInt(e.Y - (DragSize.Height / 2))
        Rect.Height = DragSize.Height
        Rect.Width = DragSize.Width
        Return Rect
      End Function
    Dans l'événement MouseDown

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub LB_MouseDown(ByVal sender As System.Object, _
                                       ByVal e As System.Windows.Forms.MouseEventArgs) _
                Handles LB.MouseDown
               'gestion du DragDrop
            select case e.button
              Case Windows.Forms.MouseButtons.Left
                DragBox = F_RectDragDrop(e)         'Créer le rectangle
           end select
     end sub
    Dans l'événement MouseMove
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      ''' <summary>
      '''  Démarrer le dragDrop si le curseur sort de la zone prédéfinie dans l'événement Mouse_down
      ''' </summary>
      ''' <param name="sender"></param>
      ''' <param name="e"></param>
      ''' <remarks></remarks>
      Private Sub LB_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
                Handles LB.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
           If Not DragBox.Contains(e.X, e.Y) Then
                   LB.DoDragDrop(BSMed.Current, DragDropEffects.All)
                End If
        end if
    end sub
    Je crois que j'avais trouvé l'explication dans l'aide mais je ne sais plus dans quelle rubrique.
    Bon boulot Jean

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Par défaut
    merci de vos réponses rapides, j'ai utilisé ta méthode Jean: ca marche nickel!!
    Effectivement, beau boulot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. Gestion du click avec le drag and drop
    Par Tendhor57 dans le forum jQuery
    Réponses: 4
    Dernier message: 07/08/2013, 10h08
  3. Click et Drag&Drop
    Par esteban63 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 05/07/2005, 13h12
  4. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  5. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo