Пользовательский разработчик для управления

У меня есть пользовательский класс, который происходит из SplitContainer:

namespace Builder.Components
{
    public partial class ProjectSidebar : SplitContainer
    {
        public ProjectSidebar()
        {
            InitializeComponent();
        }
    }
}

Теперь, когда я щелкаю правой кнопкой и выбираю Разработчика Представления, я хотел бы видеть SplitContainer и отредактировать его, как я буду со средствами управления по умолчанию (отбросьте панель в нем, и т.д.). Все, что я вижу, является сообщением, чтобы добавить средства управления и переключиться на представление Code.

Как достигнуть этого?

7
задан MysticEarth 9 February 2010 в 13:40
поделиться

3 ответа

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

В MSDN есть длинный раздел о добавлении поддержки времени разработки для ваших элементов управления. Он описывает все, от преобразователей типов до поставщиков расширений и сериализации дизайнера до настройки дизайнера .

Дополнительные ресурсы

Эта статья о CodeProject содержит информацию о создании дизайнеров для пользовательских элементов управления. Есть также несколько полезных советов здесь и в , этот другой вопрос StackOverflow .

10
ответ дан 6 December 2019 в 15:21
поделиться

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

Смотрите эту (.NET 1.0) статью на MSDN для более подробной информации. Вот еще одна статья из 2003 года.

1
ответ дан 6 December 2019 в 15:21
поделиться

Я сам нашел это руководство очень полезным: Руководство по поддержке CSS в почтовых клиентах .

-121--836574-

Если вы отправляете внутренний опрос, который требует 100% участия от сотрудников вашей компании, то лучшим маршрутом было бы просто иметь форму отслеживать ответчиков ID/Username/email и т.д. Каждые несколько дней или около того просто отправляйте приятное напоминание по электронной почте тем в вашей организации, чтобы завершить опрос... вы, вероятно, даже могли бы автоматизировать это.

-121--1155434-

Только классы Form и UserControl имеют дизайнеров, которые позволяют редактировать дочерние элементы управления во время разработки. Создание собственного дизайнера, чтобы дать SplitContainer такое же поведение, не совсем просто, прежде всего потому, что это так плохо документировано и трудно отлажено. Вам нужно изучить код рамки с Reflector, чтобы получить его правильно.

Устраните эту проблему, поместите SplitContainer в пользовательский элемент управления. Задайте для свойства «Док» значение «Заливка». Теперь это легко.

3
ответ дан 6 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: