Использование Внедрение в конструктор для форм (или других представлений в других инфраструктурах пользовательского интерфейса) часто проблематично, поскольку конструктор Visual Studio ожидает и принимает конструктор по умолчанию.
В любом случае, форма или другой визуальный элемент управления действительно должен быть тупым видом без поведения. Его целью является отображение любых данных, которые вы связываете с ним. Использование функций привязки данных часто помогает ограничить вас этой пассивной формой отображения.
Это означает, что вам нужен какой-то контроллер , который может создавать экземпляр представления (формы) и привязывать к нему источник данных.
Это намного проще сделать с такой технологией, как WPF, но это также возможно с Windows Forms. Для вдохновения о том, как это сделать с помощью Windows Forms, я предлагаю вам взглянуть на (1012) * составной блок приложений - он слишком сложен, но должен дать вам некоторые идеи о том, как реализовать нечто подобное самостоятельно.