Как создать панель баннера в C #? - PullRequest
3 голосов
/ 22 сентября 2009

Я хочу создать свой собственный пользовательский элемент управления, который в основном представляет собой TableLayoutPanel с 3 строками и 1 столбцом. Верхняя и нижняя строки будут содержать метки (баннеры), а в средней строке я добавлю другие элементы управления. Проблема в том, что когда я пытаюсь создать другие формы / элементы управления из этого элемента управления, дизайнер не распознает среднюю панель. Как мне это сделать? Если я перетащу текстовое поле в середину и установлю Dock = Fill, оно закроет форму ввода / элемент управления. Кроме того, есть ли способ заставить дизайнера отказаться от перетаскивания элементов управления в верхнюю и нижнюю (баннерную) строку? Я попробовал шаги по следующей ссылке, но мне не повезло (http://support.microsoft.com/?scid=kb%3Ben-us%3B813450&x=21&y=15).

1 Ответ

3 голосов
/ 23 сентября 2009

Я понял это. Хитрость заключалась в том, чтобы создать свой собственный конструктор, который наследует от ParentControlDesigner, переопределяет метод Initialize и вызывает EnableDesignMode для внутренней панели содержимого. Кроме того, мне нужно было установить атрибут Designer моего пользовательского элемента управления для этого нового дизайнера. Детали показаны здесь .

Одна проблема, хотя. Я могу перетащить элементы управления на панель контента, которую я создал, и все выглядит хорошо. Но после перекомпиляции элементы управления исчезают. Они все еще там, я просто думаю, что они рисуются перед панелью баннера. Я создам отдельный поток для этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...