Метод 2 - это то, что я очень рекомендую. Вы можете воспользоваться всеми преимуществами кодирования, такими как наследование функциональности. Все также видно, а не скрыто в свойствах дизайнера.
Инвестируйте в написание некоторых вспомогательных классов и методов расширения. Все, что вы можете «подтолкнуть», делает это. Адаптация базовой формы к определенному производному классу должна быть ограничена простым добавлением определенных полей в желаемом макете.
У меня есть это до 1 вызова метода на поле (обычно), чтобы создать помеченное поле, привязанное к свойству объектов, удобно расположенное на форме. Будь то текст, дата, числовые значения вверх / вниз, раскрывающийся список (на основе перечисления) и т. Д. Форма заботится о поведении «ОК / Отмена», включая указание объекту сохранить изменения или вернуться в случае отмены формы.
Отличная помощь в том, что я использую очень хороший и полный набор сторонних компонентов, которые включают в себя базовые элементы управления для редактирования, и они помещены в элемент управления «макет», который заботится о позиционировании, группах и т. Д. место и необходимость делать это снова и снова, когда форма меняется. В качестве бонуса элемент управления макетом автоматически масштабируется и корректирует вещи по мере того, как пользователь изменяет размеры формы. Кроме того, формы и элементы управления легко получают любой из визуальных стилей на уровне приложения.
Вы можете добавить атрибуты к свойствам класса и даже покончить с явной настройкой формы. Я не зашел так далеко и, вероятно, не буду. Для удовлетворения каждой возможности нужна целая система атрибутов, тогда как в коде вы всегда можете сделать что-то немного особенное, если это необходимо.
Для чего-то большего, чем разовая форма, я бы не использовал метод конструктора форм. Если существует большая иерархия классов, и вы управляете дизайном, тогда код - это путь. Эй, мы - программисты, поэтому возиться с вещами один за другим - не та игра, в которой стоит участвовать.
В первый раз, когда вам нужно будет сделать какие-то масштабные изменения, вы будете впереди.