Импорт форм Windows (С#), Visual Studio 2012

пытается добавить существующую форму Windows в проект VS2012 WinForm, я иду "Добавить/Существующий элемент...", а затем импортирует: MyForm.cs, MyForm.designer.cs, MyForm.resx

Это использовалось для работы в более ранних версиях VS. (Возможно, мне придется корректировать пространства имен.)

В VS2012 MyForm.designer.cs и MyForm.resx теперь не связаны с Формой для целей Дизайнера; то есть они отображаются как отдельные записи файлов в обозревателе решений, а не вложенные под MyForm. Двойной щелчок MyForm показывает пустую форму (без элементов управления) без сообщений об ошибках. Проект компилируется и работает нормально.

Однако, когда я перетаскиваю те же файлы в проект (настраиваю/переименовываю пространство имен), файлы формы правильно связаны друг с другом, и конструктор открывает форму в порядке.

Пока у меня есть решение, может кто-то подчеркнуть, какая разница между этими подходами, в чем смысл добавления параметра "Добавить/существующий элемент", если он не работает, и что происходит на самом деле при перетаскивании файлов? Какой файл (.csproj возможно?) Отвечает за присоединение файлов формы? Поскольку он работает в обоих случаях в более ранних версиях VS, я могу предположить, что это ошибка?

Спасибо.

Ответы

Ответ 1

Попытался воспроизвести вашу проблему - без успеха.

Предположим, что вы хотите импортировать форму под названием YourFormName. Затем вы должны добавить в проект YourFormName.cs - остальные части (YourFormName.designer.cs и YourFormName.resx) будут добавлены автоматически.

Мои шаги:

  • Создайте проект WinForms (в моем случае .Net Framework - 4) в VS2012 (11.0.05727.1 если есть вопросы)
  • Щелкните правой кнопкой мыши проекты → Добавить → Существующий элемент...
  • Найти любой WinForm с элементами управления (я добавил две формы, созданные в VS2010 для .NET framework 4 и 3.5)
  • С некоторой задержкой (около 30-40 секунд), для обоих случаев "Дизайнер" работал как ожидалось и загружал все существующие элементы управления /codebehind

Ответ 2

Просто включите файл cs и просто wait для mintue. Других файлов не требуется добавлять. Это будет работать.

перейти к project > добавить existing item выберите файл формы myform.cs и нажмите кнопку add. Это импортирует файл в ваш проект.