2008-11-12 5 views
0

Je travaille sur une application qui nécessite des contrôles personnalisés. Hériter de la classe .net Control a causé divers problèmes et rend les choses plus difficiles au fil du temps. Je ne vais pas entrer dans les détails ici, mais je crée ma propre architecture de contrôle de poids léger pour éviter certains de ces problèmes. Les choses fonctionnent bien, mais j'ai besoin d'ajouter la fonctionnalité glisser-déposer dans mon architecture. Toutes les méthodes que j'ai trouvées jusqu'à maintenant semblent malpropres et sujettes aux erreurs. J'imite la classe .net Control de plusieurs façons, et j'utilise le réflecteur .net pour le plus grand bénéfice, mais je n'arrive pas à déterminer comment faire en sorte que mes événements de traînée se déclenchent (DragDrop, DragEnter, DragLeave). Je ne peux simplement pas penser à un moyen propre de déclencher ces événements. Quelqu'un a-t-il une idée?Comment puis-je implémenter un contrôle draggable complètement personnalisé?


Jusqu'à présent, le meilleur que je suis venu avec est de mettre en œuvre l'interface IDropTarget et espoir que mes événements se déclencheront. Ils ne.


@tamberg: J'ai lu cet article et ce n'est pas vraiment ce que je cherche (merci cependant). Mon problème est que je ne sais pas comment implémenter le système d'événements. Par exemple, comment puis-je savoir quand un objet de données est déplacé sur ma classe de contrôle personnalisé? Comment puis-je déclencher ces événements (DragOver, DragDrop, etc.)?

Tous les contrôles de l'exemple héritent de System.Windows.Forms.Control, ce que j'essaie d'éviter.

Répondre

Questions connexes