2008-12-17 2 views
1

У меня есть настраиваемый элемент управления, в котором используется дизайнер, унаследованный от ParentControlDesigner, чтобы можно было исключить дочерние элементы управления. Я не использую каких-либо внутренних дизайнеров, просто простой материал с одним родителем.Как ограничить область управления клиентом в пользовательском элементе управления WinForms

Этот элемент управления рисует «заголовок», так что я пытаюсь сделать три вещи:

  1. Есть дочерние элементы пристыковаться к нижней части заголовка, а не в верхней части управления, когда установлено значение Вверх или Заполнить.

  2. Имейте дочерние элементы управления в нижней части заголовка при перетаскивании мышью вместо верхней части элемента управления.

  3. Предотвращение перетаскивания элементов управления в область заголовка, период (у меня такое чувство, что это невозможно).

(1) является самым важным - я знаю, что это возможно, потому что я видел другие элементы управления, которые это делают. (2) также будет большой помощью. (3) Меня это не волнует, было бы неплохо иметь.

Может ли кто-нибудь указать мне в правильном направлении, как реализовать эти правила, без, чтобы прибегнуть к неуклюжей подпанели и методам InternalControlDesigner?

ответ

0

управления Запретить перетаскиваемых на область заголовка, период (у меня есть чувство, что это не может быть возможно)

Имея контроль (сам контроль, а не дизайнер) переопределить Control.DisplayRectangle.get может помочь ограничить его детей.

Смежные вопросы