Создание дубликата формы в Visual Studio 2008 (C #) - PullRequest
12 голосов
/ 01 ноября 2010

У меня есть форма в моем существующем проекте.

Моя текущая задача - сделать копию существующей формы и изменить несколько вещей в новой форме. Копирование файлов формы cs не подходит, так как существующее содержимое ссылается на информацию о файле.

Проще говоря, я пытаюсь создать имя формы MyNewForm, которое будет прямой копией MyCurrentForm, не вызывая конфликта имен, который может возникнуть при простом копировании содержимого кода.

Каким самым быстрым способом я могу достичь этого?

Ответы [ 4 ]

27 голосов
/ 01 ноября 2010

Скопируйте форму в обозревателе решений Visual Studio.Переименуй это.И изменяет имя класса вручную как в файлах .cs, так и в файлах .Designer.cs .Не используйте функцию рефакторинга VS, поскольку она стирает ссылки на исходный класс.

10 голосов
/ 15 ноября 2011

Для дублирования формы (в том же проекте):

  1. Щелкните правой кнопкой мыши исходную форму -> Копировать
  2. Щелкните правой кнопкой мыши по папке / проекту назначения -> Вставить
  3. Щелкните правой кнопкой мыши новую форму -> Переименовать
  4. Изменить имя класса вручную в .cs
  5. Изменить вручную имя конструктора в .cs
  6. Изменить вручную имя класса в .Designer.cs

Наслаждайтесь!

1 голос
/ 01 ноября 2010

Зачем вам нужно дублировать форму?Попробуйте найти какой-нибудь рефакторинг, который может вам помочь, например, создать базовую форму и извлечь из нее общую логику.
Каждый раз, когда вы делаете дубликат, котенок умирает!

0 голосов
/ 01 ноября 2010

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

Это не приведет к конфликтам при переименовании.

...