2010-09-27 10 views
0

J'ai un événement glisser-déposer gestionnaire enregistré à une forme mère,événement glisser-déposer override GUI C#

this.DragDrop += new DragEventHandler(Form_DragDrop); 

Il existe plusieurs sous forme d'enfants qui sont dérivés de la forme mère. Cependant, lorsque je fais glisser un élément à l'intérieur des formulaires, l'action n'est valide que s'il n'y a aucun autre composant dans cette zone. Je voudrais que l'action glisser-déposer soit valide dans TOUTES les zones du formulaire, y compris les boutons, les zones de texte, etc. Y a-t-il un quelconque moyen de spécifier un comportement de substitution dans le formulaire parents?

Répondre

1

Vous devrez implémenter les événements D + D sur tous les contrôles. Pas vraiment pratique, mais vous pouvez le faire en itérant la collection Form.Controls de manière récursive. Donnez à l'utilisateur une bonne cible de chute, il lui est plus facile de deviner où déposer, plus facile pour vous d'implémenter le code.