Единственное, что происходит при использовании дизайнера, это то, что инициализация элементов в форме будет сгенерирована для вас (метод InitializeComponent) в файле .designer.cs.Это никак не должно влиять на производительность, и это происходит только при создании формы.
Поэтому, если у вас нет особых потребностей или расчетов макета , я бы не стал делать это вручную, но я бы использовал конструктор .Это быстро и наглядно.И вы можете видеть макет формы без необходимости компилировать и запускать приложение.
У меня был некоторый опыт создания логики макета вручную, но мне были нужны динамически созданные элементы управления (количество элементов управления, неизвестное во время разработки).Кроме этого Я не понимаю, почему бы вам не использовать Designer .
Что касается части MONO, я не думаю, что это будет несовместимо.Дизайнер просто генерирует код, ничего больше.Мне неизвестен полный список функций MONO, но поскольку при генерации кода используется логика компоновки и некоторые другие свойства элемента управления, я не вижу, как MONO не сможет сделать то же самое.Но у меня нет никакого реального опыта работы с Mono, поэтому кто-то должен подтвердить.
Редактировать:
Существует также сценарий, в котором инициализация определенных элементов управления (особенно если пользовательскиеэлементы управления) должны быть инициализированы в определенном порядке.Тогда вы не можете рассчитывать на инициализацию этих элементов управления дизайнером.Однако вы все равно можете использовать Дизайнер для всех других элементов управления, в которых порядок не имеет значения.