2010-11-01 5 views
8

J'ai un formulaire dans mon projet existant.Création d'une copie d'un formulaire dans Visual Studio 2008 (C#)

Ma tâche actuelle consiste à créer une copie d'un formulaire existant et à modifier quelques éléments du nouveau formulaire. Faire une copie des fichiers cs de formulaire ne ferait pas puisque les contenus existants se réfèrent eux-mêmes aux informations de fichier. En d'autres termes, j'essaie de créer un nom de formulaire MyNewForm, qui sera une copie directe de MyCurrentForm sans provoquer de conflit de noms pouvant survenir lors du simple copier-coller du contenu du code.

Quel est le moyen le plus rapide pour y parvenir?

+1

Copier et renommer? – Oded

+2

Serait mon idée aussi – Dennis

+0

Il existe en fait plusieurs fichiers associés à un formulaire. Ce serait une tâche fastidieuse et erronée de modifier ces fichiers. –

Répondre

23

Renommez-le. Et modifier le nom de classe manuellement à la fois dans les fichiers .cs et .Designer.cs. N'utilisez pas la fonction de refactoring VS car elle supprime les références à la classe d'origine.

+0

Comment faire cette copie dans Visual Studio Solution Explorer? J'ai essayé de copier coller, mais l'ancien nom de fichier est remplacé et il y a une sorte de conflit. –

+0

@Gunner: Je ne vois aucun conflit. Je fais juste un clic droit-> Copier et clic droit sur le dossier approprié-> Coller. Si les fichiers sont dans le même dossier, il crée "Copy Of Form1" avec tous les noms de fichiers liés renommés de manière appropriée. – Kamyar

+0

Merci. Cela a fonctionné pour moi. J'ai négligé le fichier nouvellement créé. –

0

Vous pouvez simplement ajouter un nouveau formulaire vierge, puis sélectionner tous les éléments de l'formulaire original et les coller dans le nouveau formulaire. Cela ne va pas copier le code derrière. Mais cela peut également être résolu avec la pâte de copie.

Cela ne provoquera aucun conflit de renommage.

+0

La seconde copie ne provoquera-t-elle pas un conflit? –

1

Pourquoi devez-vous dupliquer le formulaire? Essayez de trouver un refactoring qui peut vous aider, par ex. créer une forme de base et extraire une logique commune là-bas.
Chaque fois que vous faites un chat de duplication meurt! Copiez le formulaire dans l'explorateur de solution Visual Studio.

+4

pour certains d'entre nous, perdre un chaton est * incitatif *, pas dissuasif. – JeremyDWill

+0

@JeremyDWill aime! – gonzobrains

9

Pour dupliquer un formulaire (dans le même projet):

  1. Faites un clic droit sur le formulaire source -> Copier
  2. Faites un clic droit sur le dossier de destination/projet -> Coller
  3. droit cliquez sur le nouveau formulaire -> Renommer
  4. modifier manuellement le nom de classe dans .cs
  5. Modifier manuellement le nom du constructeur dans .cs
  6. Modifier manuellement le nom de la classe dans .Designer.cs

Enjoy!