Поддержка времени разработки для составного элемента управления

Я создаю конкретный элемент управления DataGridView, который включает две полосы прокрутки, чтобы я мог контролировать их размер и видимость. Итак, я создал элемент управления User, содержащий DataGridView и две полосы прокрутки внутри TableLayoutPanel размером 2x2.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я добавляю свой элемент управления в форму Windows, я не могу установить свой DataGridView DataSource или определить стили столбцов из представления дизайна, потому что ссылка, которую я использую для этого, когда я использую общий DataGridView (эта маленькая белая стрелка в правом верхнем углу DataGridView) не появляется.

Во время тестирования я заметил, что если я унаследую свой контроль от DataGridView, эта ссылка появится. Но если я это сделаю, я предполагаю, что смогу расширить функциональность только для DataGridView, но мне нужно, чтобы мой элемент управления был составным элементом управления.

Итак, вот мой вопрос: как я могу получить эти возможности времени разработки в моем настраиваемом элементе управления? Меня особенно интересует расположение столбцов и источник данных.

С наилучшими пожеланиями.


person user1340667    schedule 18.04.2012    source источник


Ответы (1)


Если вы выполняете usercontrol (элемент управления, имеющий файл с выделенным кодом .ascx), похоже, нет способа контролировать это: Как скрыть внутренние элементы управления UserControl в конструкторе?

Если вы выполняете WebControl (класс, который наследуется от WebControl без файла .ascx), вы можете создать свой собственный дизайнер и, возможно, каким-то образом вывести дизайнеры обоих элементов управления. Взгляните на: http://msdn.microsoft.com/en-us/library/12yydcke.aspx объясняет, как создать веб-элемент управления и его дизайн.

Некоторые вещи с usercontrols / webcontrols кажутся простыми, но их сложно реализовать ...

Надеюсь это поможет!

person mortb    schedule 18.04.2012