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 :

Drag and Drop entre deux listes


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Drag and Drop entre deux listes
    Bonjour,

    je recherche un moyen pour faire un drag and drop d'objets de type string entre deux listes (ou autres composants winform plus approprié). J'ai recherché pas mal de sources, mais aucune ne fonctionnant correctement, je ne parviens pas à mon résultat escompté.

    Quelqu'un pourrait m'expliquer simplement comment réaliser un drag-and-drop entre des éléments de type string et entre deux listes, a partir des evenement classique : MouseDown, DragOver, DragLeave, car je sur vraiment perdu. Ou alors connaissez vous une source fiable et fonctionnant sous visual studio 2008 .

    Bien cordialement.

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    As-tu consulté le cours du Dr Lasserre sur le Drag and Drop ?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci pour cette ressource qui - bien qu'elle soit en VB - est la plus pertinente que j'ai eue jusqu'à présent sur l'explication de la gestion des évènements d'un drag and drop.

    Merci beaucoup pour cette info, je marquerai comme résolu si je parviens à mes fins grace à cet article, en attendant d'autres sources sont les bienvenues.

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    J'ai compris le principe du drag and drop, il mle reste une grosse zone d'ombre quant à l'évènement DragDrop qui ne fonctionne pas chez moi... J'ai tenté de corriger le problème avec le debbuger, mais rien n'y fait, l'évènement dragdrop qui doit detecter lorsque je lache l'item dans ma deuxième liste ne fonctionne pas...
    Quelqu'un a-t-il une idée pour se problème ou bien l'a-t-il deja rencontré?

    Merci d'avance pour votre participation.

    Voici le code d'exemple que j'ai créé :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            string[] value = new string[100];
     
            public Form1()
            {
                InitializeComponent();
                InlitializeList();
            }
     
            private void InlitializeList()
            {
                ultraListView1.Items.Add("item1", "item1");
                ultraListView1.Items.Add("item2", "item2");
                ultraListView1.Items.Add("item3", "item3");
                ultraListView1.Items.Add("item4", "item4");
                ultraListView1.Items.Add("item5", "item5");
            }
     
     
     
     
            private void ultraListView1_MouseDown(object sender, MouseEventArgs e)
            {
                int i = 0;
                foreach (var item in ultraListView1.SelectedItems)
    	        {
                    value[i] = item.Text;
                    i++;
    	        }
                ultraListView1.DoDragDrop(ultraListView1.SelectedItems, DragDropEffects.Move );
     
     
            }
     
            private void ultraListView2_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.Text))
                    e.Effect = DragDropEffects.Scroll;
                else
                    e.Effect = DragDropEffects.Link;
     
            }
     
            private void ultraListView2_DragDrop(object sender, DragEventArgs e)
            {
                foreach (var item in value)
                {
                    ultraListView2.Items.Add(item, item);
                    ultraListView1.Items.Remove(new Infragistics.Win.UltraWinListView.UltraListViewItem(item));
                }
     
            }
        }
    }

  5. #5
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    En attendant une éventuelle explication, essaye de reproduire un DragDrop dans un nouveau projet, si tu suis bien le cours, cela devrait fonctionner et peut-être te mettre sur la voie de ce qui ne fonctionne pas sur ton appli actuelle.

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Je pense avoir trouvé l'erreur, cela doit venir du composant infragistics que j'utilise qui ne se comporte pas comme une listview traditionelle.

    Je vous tiens au courant

    Edit : Même avec des composants listbox classique, cela ne fonctionne pas...

  7. #7
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Tu utilises quels évènements exactement?

    Car normalement tu dois utiliser mousedown, mousemove et mouseup.

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par roster Voir le message
    Tu utilises quels évènements exactement?

    Car normalement tu dois utiliser mousedown, mousemove et mouseup.
    Non je n'utilise pas ceux la, j'utilise MouseDown dans ma première liste qui fonctionne a merveille, ensuite j'utilise dragEnter dans ma deuxième liste qui detecte l'arrivée du drag, celui fonctionne aussi parfaitement.

    Ensuite je rencontre un problème avec l'evenement DragDrop qui devrait s'activer lorsque je lache le clic de la souris et que je drop l'objet dans ma deuxième liste. Cet evenement ne s'active pas alors que j'ai bien mis la propriété allowDrop de ma liste à true.

    Le problème de la solution mousedown, mouseover, mousedown, est que cela ne fonctionne que sur une seule liste. Ici je souhaite drager les items sur une autre liste ou l'evenement MouseUp ne fonctionne pas...

  9. #9
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Et tu as bien mis la propriété AllowDrop à True pour ton control?

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par tom572007 Voir le message
    alors que j'ai bien mis la propriété allowDrop de ma liste à true.

  11. #11
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Désolé, je ne lis souvent que les grandes lignes...

  12. #12
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci quand même, personne d'autre n'a de propositions concernant le fait que l'évènement DragDrop ne se déclenche pas?

Discussions similaires

  1. [VBA-E]drag and drop entre deux listbox
    Par Yolak dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/06/2012, 14h37
  2. Drag and drop entre deux Liste BOX
    Par simoinfonet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/04/2008, 17h39
  3. Drag and drop entre deux ListBox
    Par simoinfonet dans le forum Langage
    Réponses: 0
    Dernier message: 18/04/2008, 18h53
  4. Drag and Drop entre deux list view
    Par mkaffel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2007, 21h52
  5. [FLASH MX2004] Drag and drop entre deux List
    Par aldo-tlse dans le forum Flash
    Réponses: 15
    Dernier message: 24/09/2005, 01h10

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