Как сделать копию формы windows form

Обновлено: 08.07.2024

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

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

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

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

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

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

  1. Скопируйте и вставьте форму.
  2. Переименуйте вставленную форму .cs, чтобы соответствовать новому имени класса формы. Это должно автоматически переименовывать другие связанные файлы.
  3. Вскрывать.cs файл. Измените имя класса и имя конструктора(конструкторов) и деструктора.
  4. Вскрывать.Дизайнер.cs-файл и измените имя класса.
  1. Рассмотрите возможность абстрагирования общих функций из формы в общую форму или элементы управления.
  1. Добавьте вложенную папку в проект.
  2. Щелкните правой кнопкой мыши папку и выберите Добавить существующий элемент.
  3. Перейдите к форме, которую вы хотите скопировать, и выберите ее .cs файл. Это будет дублировать исходную форму (partial и resx и все) в подпапке. Имя не будет конфликтовать с исходным, так как подпапка будет включена в пространство имен.
  4. Щелкните правой кнопкой мыши .cs-файл, нажмите Рефактор / переименовать и введите новое имя. Это также переименует частичный и resx для вас.

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

1.Добавление новой папки в проект

2.Скопируйте форму в это

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

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

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

(1) в Проводнике файлов Windows Выделите и скопируйте все 3 файла формы (.VB or .цезий. ,проектировщик. ,resx)

(2-е) это может быть достигнуто 2 способами:

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

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

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

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

1- в меню Файл выберите пункт Экспорт шаблона

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

3-Проверьте форму, которую вы хотите сделать шаблон из него, и нажмите кнопку Далее дважды

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

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

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

1. В меню Файл нажмите Экспорт шаблона .

2- Выберите тип шаблона (выберите шаблон элемента) и нажмите «Далее».

3-Отметьте форму, которую вы хотите сделать ее шаблоном, и нажмите "Далее" Дважды .

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

Готово в 5 кликов

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

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

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

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

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

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

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

  1. Щелкните правой кнопкой мыши на форме -> Копировать класс

enter image description here

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

enter image description here

  1. Переименуйте новую форму и скажите «да» переименованию всех ссылок на этот класс.

enter image description here

Если вы работаете в VS 2019, потратьте несколько минут на создание шаблона элемента - это идеальное решение. Как: создавать шаблоны предметов

Не уверен, применимо ли это к более ранним версиям VS.

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

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

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

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

2. скопируйте форму в это

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

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

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

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

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

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

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

Или, мне кажется, лучше:

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

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

обычно я копирую файлы в проводнике windows, открываю их в блокноте / Wordpad и просто меняю одно упоминание имени класса вверху. Включите эти файлы в свой проект, и вам будет хорошо идти.

  1. скопируйте и вставьте форму.
  2. переименовать вставленную форму .cs, чтобы соответствовать новому имени класса формы. Это должно автоматически переименовывать другие связанные файлы.
  3. открыть .cs файл. Измените имя класса и имя конструктора(конструкторов) и деструктора.
  4. открыть .Дизайнер.cs-файл и измените имя класса.
  1. рассмотрите возможность абстрагирования общей функциональности из формы в общую форму или контроли.

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

1 - с меню нажмите кнопку Экспорт Шаблона

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

3-Проверьте форму, которую вы хотите сделать шаблоном, и нажмите кнопку Далее два раза

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

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

прежде всего, если вы дублируете много форм с помощью cut и paste, рассмотрите общий базовый класс для ваших форм (или для категории ваших форм), который реализует общие/общие функциональные возможности или элементы look & feel. Можно также создать шаблон для новых форм, отвечающих вашим потребностям, и создать новые формы из этого шаблона.

  1. Добавить папку в проект.
  2. щелкните правой кнопкой мыши на папку и выберите команду добавить существующий элемент.
  3. перейдите к форме вы хотите скопировать, и выберите его .cs файл. Это будет дублировать исходную форму (частичную и resx и все) в подпапке. Имя не будет конфликтовать с оригиналом, так как подпапка будет включена в пространство имен.
  4. щелкните правой кнопкой мыши на .cs-файл, нажмите Refactor / Rename и введите новое имя. Этот также переименует частичный и resx для вас.

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

  1. щелкните правой кнопкой мыши на форме -> копировать класс

enter image description here

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

enter image description here

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

enter image description here

просто переименуйте класс ссылки конструктора.

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

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

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

2.Скопируйте форму в это

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

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

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

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

(2-ой) это может быть достигнуто 2 способами:

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

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

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

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

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

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

  1. меню Файл / SE-сохранить CurrentForm.cs as-NewForm.cs
  2. измените его имя на NewForm в окне свойств.
  3. В Обозревателе Решений-Добавить Существующий Элемент-CurrentForm.cs
  4. обычно в форме MDI (где упоминается CurrentForm) - событие CurrentFormToolStripMenuItem_Click-изменить ссылку на CurrentForm (которая автоматически изменяется на NewForm в шаге 1).

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

, я не думаю, в настоящее время существует другой способ сделать это, не используя WMI или API Win32.

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

  1. Копировать и вставьте форму.
  2. Переименуйте вставленную форму .cs, чтобы она соответствовала новому имени класса формы. Это должно автоматически переименовать другие связанные файлы.
  3. Откройте файл .cs. Измените имя класса, а также имя конструктора (ов) и деструктора.
  4. Откройте файл .Designer.cs и измените имя класса.
  1. Рассмотрите возможность абстрагирования общих функций из формы в общие форма или элементы управления.

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

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

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

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

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

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

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

Сегодня хочу показать, как можно быстро создать копию формы с помощью графического интерфейса программы Visual Studio.

1. Создадим новый проект типа Windows Forms Application.

2. Выполним команду: Build -> Build Solution.

Build Solution

3. Переходим в окно Solution Explorer и нажимаем правую кнопку мышки на имени текущего проекта. После чего в появившемся контекстном меню выбираем пункт Add и следом в дополнительном меню выбираем пункт New Item.

New Item

4. В появившемся окне Add New Item выбираем пункт Inherited Form, после чего нажимаем на кнопку Add.

Inherited Form

5. В открывшемся диалоговом окне Inheritance Picker выбираем компонент (форму), на основе которого мы хотим создать копию.

Inheritance Picker

В данном примере в списке содержится только один компонент Form1, поэтому можно сразу же нажать на кнопку OK. (Если данная кнопка не доступна (не активна), то это значит, что вы не выполнили пункт №2).

После нажатия на кнопку выполняется обычно наследование:

В результате создаётся копия первой формы (Form2).

Solution Explorer

One thought to “Как создать копию формы в программе Visual Studio?”

Я добавляю новую форму выбираю производная форма после выбираю форму Form1 и создается копия Form2 на скрине у меня она уже создана

Читайте также: