Quel est le meilleur moyen de copier ou couper/coller un formulaire d'un projet à un autre projet dans une solution dans Visual Studio?
Chaque fois que j'essaye, à l'aide de l'explorateur de solution (glisser-déposer ou clic droit, couper et coller), il ne fait que copier le code C # sous-jacent et non les éléments indispensables qui vous aident à visualiser le formulaire via son concepteur.
Je l'ai compris - je savais que ce serait quelque chose de stupide.
Apparemment, le projet cible devrait avoir les références:
inclus dans le projet EN PREMIER avant de faire une copie ou un collage, sinon vous obtiendrez le problème que j'ai décrit.
Merci à tous ceux qui ont essayé d'aider BTW.
.cs
, .designer
, resx
dans le dossier de la solution cible.Add existing item
et ajoutez d'abord le fichier de concepteur. .cs
devrait également entrer. .cs
.resx
en utilisant Add existing item
.Pour copier un formulaire d'un projet VS2013 à un autre, le plus simple (le moins de clics de souris) est:
Dans votre projet cible, cliquez avec le bouton droit de la souris sur votre dossier parent (probablement votre projet) et sélectionnez "Ajouter; Élément existant" dans le menu.
Ensuite, sélectionnez le fichier cs du formulaire dans votre projet source. Par exemple, sélectionnez Form.cs (pas Form.Designer.cs ou Form.resx).
Ouvrez Form.cs dans votre projet cible et modifiez l'espace de noms (toutes les instances).
Fermez et rouvrez Form.cs et vous verrez toutes les commandes, etc.
C'est beaucoup plus facile maintenant en 2012. Il suffit d'aller dans Fichier> Ajouter> Projet existant> Faites glisser et déposez le formulaire dans le projet auquel vous souhaitez l'ajouter.
J'ai essayé le processus suivant dans Visual Studio 2012 et cela a fonctionné.
Assurez-vous de copier non seulement les fichiers Form.cs, mais également les fichiers Form.designer.cs et Form.resx.
Mais je dois demander pourquoi vous voudriez conserver une copie du même formulaire dans plusieurs projets au sein de la même solution. On dirait que vous pourriez vouloir généraliser le code, le placer dans une bibliothèque de classes et le réutiliser aux endroits où il est applicable.
Utilisez ReSharper (obtenez la démo), cliquez avec le bouton droit sur la classe en mode Code, Refactor> Déplacer et déplacez-la dans un autre projet.
L'avantage supplémentaire est que si vous modifiez l'espace de noms en le déplaçant entre les projets, toutes les références seront mises à jour automatiquement.
Si vous voulez créer des formulaires dans la même machine, vous pouvez simplement le faire.
Dans l'Explorateur de solutions Projet -> Ajouter -> Ajouter un élément existant .
Sélectionnez uniquement le fichier .cs (Sample.cs)
à partir du répertoire source et actualisez l'explorateur de la solution actuelle pour qu'il fonctionne.
Pour Visual Studio V.12, c’est la seule méthode qui a fonctionné pour moi (c’est un mélange des entrées ci-dessus):
L'utilisation de VS2013 vient de tester cela et il semble fiable et cohérent. Ceci est similaire à certains commentaires ci-dessus, mais ajoute une autre méthode plus rapide.
(1er) Dans l'Explorateur de fichiers Windows, mettez en surbrillance et copiez tous les 3 fichiers de formulaire (.vb ou .cs, .designer, .resx)
(2nd) Ceci peut être accompli de 2 manières:
(2a-1) Dans l'Explorateur de fichiers, collez les 3 fichiers dans le dossier du projet avec vos autres formulaires.
(2a-2) Dans VS Solution Explorer, activez "Afficher tous les fichiers", cliquez avec le bouton droit de la souris sur le formulaire collé et "Inclure dans le projet". Cela devrait fonctionner sans autre changement.
Ou, je pense mieux:
(2b-1) Dans VS, cliquez sur Explorateur de solutions et collez w/Control-C. (Pour une raison quelconque, le menu contextuel par clic droit de l'Explorateur de solutions peut ne pas afficher une option de collage, mais fonctionne à partir du clavier.) Cette méthode ajoute directement le formulaire au projet sans avoir à "Inclure dans le projet" comme ci-dessus. Avec cette méthode, vous pouvez ajouter autant de formulaires à la fois que vous le souhaitez (les 3 fichiers pour chacun) en une seule étape.
Sélectionnez-vous le fichier ou utilisez-vous le concepteur pour "copier" tous les contrôles? Sélectionner le fichier YourForm.cs
dans l'Explorateur de solutions et le copier via un copier-coller ou un glisser-déposer sur votre autre projet devrait répondre à vos besoins.
J'utilise Visual Studio 2010, voici les étapes que j'ai effectuées:
J'ai essayé les étapes ci-dessous et cela a bien fonctionné.
** Celui-ci fonctionne pour moi:
1) Copiez les fichiers sources (.cs ou vb, .designer, .resx) dans le dossier cible.
2) Afficher les fichiers cachés dans la solution cible
3) Sélectionnez ces fichiers et incluez-les dans le projet.
Cela ajoutera proprement winform ou tout autre fichier partiellement divisé.