Visual Studio 2008: добавление компонентов в унаследованную панель - PullRequest
1 голос
/ 26 августа 2010

В этом сценарии у меня есть базовый компонент с кнопкой закрытия и панелью управления;(FlowLayoutPanel) идея состоит в том, что компоненты, расширяющие это, добавляют свои элементы управления на панель управления и для них выполняют функцию кнопки закрытия.

Проблема в том, что я не могу убедить VS добавитькомпоненты в подклассе компонента на панели потока;это заканчивается тем, что мне приходится делать это в коде.Что все хорошо, за исключением того, что это не будет отображаться в представлении дизайнера.Если я добавлю его в частичный класс с помощью кода, сгенерированного дизайнером, тогда я смогу увидеть элементы управления в представлении конструктора, размеченные панелью потоков.Но потом это просто перезаписывается.

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

-

Альтернативой может быть какой-то способ убедить дизайнера выполнить / не переписать мой коддизайнерский класс.

1 Ответ

1 голос
/ 26 августа 2010

Вам необходимо сделать ControlDesigner для вашего элемента управления и переопределить методы InternalControlDesigner и GetParentForComponent.

Например, откройте System.Windows.Forms.Design.SplitContainerDesigner (в System.Design.dll в Reflector.

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