2008-12-17 9 views
1

J'ai un contrôle personnalisé qui utilise un concepteur dont j'ai hérité de ParentControlDesigner pour permettre l'abandon des contrôles enfants. Je n'utilise pas de concepteurs internes, juste des choses simples et simples.Comment faire pour limiter la zone de contrôle client dans un contrôle WinForms personnalisé

Ce contrôle dessine une « tête », donc je suis en train de faire trois choses:

  1. Demandez des contrôles enfants quai au fond de l'en-tête au lieu du haut du contrôle, lorsqu'il est réglé sur Haut ou Remplir. Les commandes enfants se calent sur le bas de l'en-tête lorsque vous faites glisser la souris au lieu du haut du contrôle. Empêcher les contrôles d'être traînés sur la zone d'en-tête, période (j'ai le sentiment que cela peut ne pas être possible).

(1) est le plus important - je sais que c'est possible parce que j'ai vu d'autres contrôles qui le font. (2) serait également une aide majeure. (3) Je m'en fous de tout ça, ce serait bien de l'avoir.

Quelqu'un pourrait-il me pointer dans la bonne direction sur la façon d'implémenter ces règles, sans devoir recourir à un sous-panneau maladroit et aux méthodes InternalControlDesigner?

Répondre

0

Empêcher les commandes d'être traîné sur la zone d'en-tête, la période (j'ai un sentiment que cela peut ne pas être possible)

Avoir le contrôle (le contrôle lui-même, pas le concepteur) remplacer Control.DisplayRectangle.get peut aider à restreindre ses enfants.

Questions connexes