C # Tab Control - Наследовать от TabPage? - PullRequest
4 голосов
/ 25 февраля 2010

По сути, я создаю форму Windows с элементом управления вкладками и хочу иметь несколько типов страниц вкладок для различных типов объектов, свойства которых я буду редактировать. В основном как интерфейс в Visual Studio, где вы можете иметь несколько вкладок кода, затем несколько вкладок файлов ресурсов и т. Д.

Для этого я полагаю, что мне нужно:

  1. Создайте класс, наследуемый от TabPage для каждого типа макета вкладки, который мне нужен.
  2. Заставить каждый из этих классов принимать определенный тип объекта в конструкторе.
  3. В конструкторе создайте все элементы управления для этой вкладки и установите свойства.

Однако это означает, что я не могу оформить вкладки в Visual Studio (мне нужно будет кодировать макет вручную).

Правильно ли я поступаю? Или есть другой способ решения этой проблемы?

1 Ответ

2 голосов
/ 25 февраля 2010

Рассматривали ли вы создание пользовательского элемента управления для каждого типа страниц, которые вы хотите отобразить? Вместо использования разных типов вкладок вы можете использовать Visual Studio для разработки макета каждого настраиваемого элемента управления (вместе с любым кодом для каждой вкладки), а при создании новой вкладки сделать его единственный дочерний элемент управления экземпляром соответствующий тип таможенного контроля.

Преимущества

  • Это позволяет использовать VS для создания внешнего вида содержимого вкладки
  • Если вы хотите повторно использовать пользовательский интерфейс для содержимого вкладки в другом месте, он уже отделен от элемента управления вкладками (это даже поможет, если позднее вы перейдете к использованию окон вместо вкладок, например).
...