Собирается ли создание цепочки наследования WinForms? - PullRequest
0 голосов
/ 21 октября 2009

Предположим, у меня есть базовая форма Main1, которую, возможно, придется немного изменить, включая, возможно, добавление дополнительных элементов управления и изменение размера / расположения существующих элементов управления. Те базовые элементы управления, которые мне нужно изменить, я установил в конструкторе на «защищенный». Итак, у меня есть другая форма, Main2, которая происходит от Main1. Затем у меня есть другая форма, Main3, которая имеет еще больше дополнений / изменений, но нуждается в дополнениях 2-й формы. И так далее. Моя цепочка наследования выглядит так: MainX: Main (X - 1): ...: Main2: Main1

Это прекрасно работает и позволяет мне иметь дизайнерскую поддержку при перемещении и изменении размера элементов управления, но я всегда опасаюсь наследования вообще и особенно , когда у меня такая большая цепь.

Я собираюсь заплатить за это позже?

Ответы [ 2 ]

1 голос
/ 21 октября 2009

Я делал это много в прошлом (по общему признанию, не слишком много за последние 3 или около того уровня), и это работало довольно хорошо. Время от времени элементы управления, казалось, исчезали в моей «наследующей» форме (обычно во время создания), но это было в VS2002 / 2003 и .net 1.0 / 1.1. До тех пор, пока я мог успешно вызывать законченную форму (то есть все элементы управления присутствовали и исправлялись), все было в порядке.

1 голос
/ 21 октября 2009

Наследование - твой друг.

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

...