Gestionnaire de glisser déposer (drag-drop)

Soyez le premier à donner votre avis sur cette source.

Vue 14 590 fois - Téléchargée 970 fois

Description

Ce code permet de contrôler les événements drag-drop de certains contrôles C#. J'ai créé cette DLL parce que au début j'avais de la difficulté avec ces trucs puisque ça fait un peu peur au début. J'avais aussi besoin de toujours en créer et je cherchais un moyen de contrôler la sécurité (les contrôles pouvant effectuer le Drag-Drop). Cette DLL contrôle pour l'instant que les ListBox, mais le support TreeView/TextBox est prévu.

Source / Exemple :


//example de création de DragDrop
using EasyDD;
DragDropClient ClientDD = new DragDropClient(ref listBox1);
DragDropHost HostDD = new DragDropHost(ref listBox2,new DragDropClient[]{ClientDD});
//C'est tout! Le déplacement d'items de ClientDD vers HostDD est possible!

//Example 2: Pour replacer les items d'une ListBox seulement
using EasyDD;
DragDropClient ClientDD = new DragDropClient(ref listBox1);
DragDropHost HostDD = new DragDropHost(ref listBox1,new DragDropClient[]{ClientDD});
//Pas plus compliqué que l'autre

//Example 3:Interopératibilité entre 2 ListBox
using EasyDD;
DragDropClient ClientDD1 = new DragDropClient(ref listBox1);
DragDropHost HostDD1 = new DragDropHost(ref listBox2,new DragDropClient[]{ClientDD});
DragDropClient ClientDD2 = new DragDropClient(ref listBox2);
DragDropHost HostDD2 = new DragDropHost(ref listBox1,new DragDropClient[]{ClientDD2});
//Un peu plus long

//Example 4:Interopératibilité+Replaçage
using EasyDD;
DragDropClient ClientDD1 = new DragDropClient(ref listBox1);
DragDropClient ClientDD2 = new DragDropClient(ref listBox2);
DragDropHost HostDD1 = new DragDropHost(ref listBox2,new DragDropClient[]{ClientDD,ClientDD2});
DragDropHost HostDD2 = new DragDropHost(ref listBox1,new DragDropClient[]{ClientDD2,ClientDD});
//Juste rajouter un contrôle autorisé

Conclusion :


Pour l'instant le contrôle ne permet que le déplacement d'un item de ListBox vers une autre ListBox, mais d'autres ajouts se feront lorsque des demandes se feront et que le logiciel se développera.

Vous remarquerez la présence de fichiers .CMBX/.PRJX ET de fichiers .SLN/.CSPROJ . La raison est que j'ai utilisé SharpDevelop , IDE gratuit et complet, pour éditer le projet. J'ai utilisé l'Exporteur pour le transformer en fichiers VS2003. Si ça ne s'ouvre pas, veuillez me le dire.

Le Form d'example permet des transferts de la ListBox du haut vers la ListBox du bas.

Notez aussi que si vous compilez en mode Debug la DLL, vous aurez les MessageBox qui affiche la position du curseur et l'index qui doit être retiré à chaque fois que vous ferez un Déposer.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

jccdev
Messages postés
2
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
8 avril 2006

J'ai pas compris pourquoi la fenetre Dos s'ouvrait, pour le reste c'est OK, je l'ai compilé sous VS2005.
tom572007
Messages postés
6
Date d'inscription
mercredi 29 novembre 2006
Statut
Membre
Dernière intervention
15 mai 2009

Ne compile pas sous VS2008

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.