Создание пользовательского элемента управления контейнера WinForms с некоторыми несъемными элементами управления - PullRequest
1 голос
/ 19 июля 2009

Я написал пользовательский элемент управления вкладками (FooTabControl), в котором размещены определенные элементы управления вкладками (FooTabPage экземпляры). FooTabPage знают, как разместить себя в выделенной области в пределах FooTabControl.

Теперь я хочу, чтобы FooTabControl также содержал дочерний элемент управления System.Windows.Forms.Panel (в другой выделенной области FooTabControl). Я хочу, чтобы пользователь мог поместить свои элементы управления в этот Panel, но запретил ему удалять сам элемент управления Panel (при этом он все еще мог добавлять и удалять FooTabPage s, как он считает нужным).

Каков был бы правильный способ реализовать это?

1 Ответ

4 голосов
/ 19 июля 2009

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

...