Подтвердить что ты не робот

Как легко дублировать Windows Form в Visual Studio?

Как я могу легко дублировать форму С#/VB в Visual Studio? Если я копирую и вставляю в Обозреватель решений, он использует один и тот же класс внутри себя и становится испорченным. Как ты делаешь это?

4b9b3361

Ответ 1

Я обычно копирую файлы в проводнике Windows, открываю их в Блокноте /Wordpad и просто изменяю одно упоминание имени класса вверху. Добавьте эти файлы в свой проект, и вам будет хорошо идти.

Ответ 2

  • Скопируйте и вставьте форму.
  • Переименуйте вложенную форму .cs в соответствие с новым именем класса формы. Это должно автоматически переименовывать другие связанные файлы.
  • Откройте файл .cs. Измените имя класса и имя конструктора (-ов) и деструктора.
  • Откройте файл .Designer.cs и измените имя класса.

Дополнительный кредит:

  1. Рассмотрим абстрагирование общей функциональности от формы в общую форму или элементы управления.

Ответ 3

Безопасный способ без проблем состоит в том, чтобы сделать Шаблон вашей формы Вы можете использовать его в том же проекте или в любом другом проекте. и вы можете добавить его очень легко, например, добавить новую форму. Вот как сделать Шаблон

1- из Файл Нажмите Экспорт шаблона

2- Выберите тип шаблона (выберите шаблон элемента) и нажмите кнопку

3-Check Form, которую вы хотите создать, и нажмите Дважды

4-Переименуйте свой шаблон и (поместите описание, выберите изображение значка, изображение предварительного просмотра, если хотите)

Пятикратное завершение

Теперь вы можете добавить новый элемент и выбрать свой шаблон в любом проекте

Ответ 4

Прежде всего, если вы дублируете множество форм с вырезанием и вставкой, рассмотрите общий базовый класс для ваших форм (или для категории ваших форм), который реализует общие/общие функции или элементы внешнего вида. Вы также можете создать шаблон для новых форм, соответствующих вашим потребностям, и создать новые формы из этого шаблона.

Лично я просто вырезал и вставлял, затем исправлял любые затяжные ошибки имени. Поскольку я абстрагирую общую функциональность, я не испытывал достаточной боли, чтобы искать лучший способ: -)

Ответ 5

  • Добавить подпапку в ваш проект.
  • Щелкните правой кнопкой мыши по подпапке и нажмите "Добавить существующий элемент".
  • Перейдите к форме, которую вы хотите скопировать, и выберите ее .cs файл. Это будет дублировать исходную форму (partial и resx и все) в подпапке. Имя не будет конфликтовать с оригиналом, поскольку подпапка будет включена в его пространство имен.
  • Щелкните правой кнопкой мыши на файле .cs, нажмите Refactor | Переименуйте и введите новое имя. Это также переименует частичный и resx для вас.

Я вообще не люблю методы этого, связанные с открытием файлов в блокноте или что-то еще, так как я всегда думаю, что такая общая задача должна иметь встроенный способ сделать это в Visual Studio. В этом случае есть.

Ответ 6

  • Щелкните правой кнопкой мыши по форме → Класс копирования

введите описание изображения здесь

  1. Щелкните правой кнопкой мыши папку назначения и класс Paste

введите описание изображения здесь

  1. Переименуйте новую форму и скажите "да", чтобы переименовать все ссылки на этот класс.

введите описание изображения здесь

Ответ 7

Просто переименуйте класс, ссылающийся на конструктор.

Но лучшим решением является создание нового экземпляра того же класса во время выполнения.

Или еще лучше создать родительскую форму, которую наследуют различные реализации.

Ответ 8

1. Добавить новую папку в проект

2. Сопоставьте форму с тем, что

3.Измените имя в свойствах, а также измените имя файла

4.Проверьте каждую форму для имени своего класса (они не должны быть одинаковыми)

Ответ 9

(повторил этот ответ из моего другого сообщения в случае, если кто-то ищет это решение здесь)

Использование VS2013 просто протестировано и кажется надежным и последовательным. Это похоже на некоторые комментарии выше, но добавляет еще один способ, который быстрее.

(1-й) В Проводнике Windows выделите и скопируйте все 3 файла формы (.vb или .cs,.designer,.resx)

(2nd) Это можно выполнить двумя способами:

(2a-1) В File Explorer вставьте 3 файла в папку проекта с другими формами

(2a-2) В VS Solution Explorer включите "Показать все файлы", щелкните правой кнопкой мыши на вставленной форме и "Включить в проект". Он должен работать без других изменений.

Или, я думаю, лучше:

(2b-1) В VS, щелкните в обозревателе решений и вставьте w/Control-C. (По какой-либо причине контекстное меню контекстного меню в обозревателе решений может не показывать параметр вставки, но он работает с клавиатуры.) Этот метод напрямую добавляет форму в проект без необходимости "Включать в проект", как указано выше. С помощью этого метода вы можете добавить столько форм за раз, сколько хотите (все 3 файла для каждого) за один шаг.

Ответ 10

Это действительно просто. "В режиме дизайна FORM" (form1.cs [Design]) скопируйте всю форму "ctrl A", затем ctrl C. Все объекты сразу. Затем добавьте в проект новую форму окна. Измените размер формы до требуемого размера, затем вставьте ctrl V все новые объекты будут скопированы в новую форму. Когда все они будут выбраны, дважды щелкните по любому из объектов. НЕ ФОРМА!!!..... Это создаст код на стороне формы, соответствующий только что вложенным объектам. если нет, вы можете дважды щелкнуть по каждому объекту и создать код по одному. Я использую область текстового поля, чтобы дважды щелкнуть, и она работает почти каждый раз. Я использую этот метод каждый день WORKS GREAT.

Ответ 11

  • Сохранить весь проект
  • Щелкните правой кнопкой мыши в обозревателе решений (SE), "Копировать"
  • Щелкните правой кнопкой мыши на имени проекта в SE (это первая строка), "Вставить". Он создаст форму "Копия..... vb"
  • Щелкните правой кнопкой мыши на этой новой форме в SE, "View code" и измените имя своего класса на имя, которое вы хотите использовать для формы
  • Щелкните левой кнопкой мыши по новой форме в SE и перепишите ее имя для имени, которое вы использовали в имени класса (и .vb в конце)
  • Build - если у него нет ошибок, вы выигрываете!:)

Ответ 12

Я использовал другой способ копирования форм с vb6.

  • Меню файлов /SE - Сохранить CurrentForm.cs as - NewForm.cs
  • Измените его имя на NewForm в окне свойств.
  • В обозревателе решений - добавьте существующий элемент - CurrentForm.cs
  • Обычно в форме MDI (где указан CurrentForm) - событие CurrentFormToolStripMenuItem_Click - возвращает ссылку на CurrentForm (которая автоматически изменяется на NewForm на шаге 1).

комментарии приветствуются.

Ответ 13

Я разобрался с ситуацией, когда вам нужна копия той же формы в проекте, которую вы можете просто использовать Сохранить как из меню файла.

Ответ 14

Наследовать форму!