Erstellen eines Duplikats eines Formulars in Visual Studio 2008 (C #)

8

Ich habe ein Formular in meinem bestehenden Projekt.

Meine aktuelle Aufgabe besteht darin, ein Duplikat eines vorhandenen Formulars zu erstellen und einige Änderungen am neuen Formular vorzunehmen. Eine Kopie der Form cs-Dateien zu machen, würde nicht ausreichen, da die vorhandenen Inhalte selbst auf Dateiinformationen verweisen.

Einfach ausgedrückt, ich versuche, einen Formularnamen MyNewForm zu erstellen, der ein direktes Duplikat von MyCurrentForm sein wird, ohne Namenskonflikte zu verursachen, die beim bloßen Kopieren von Code-Inhalt auftreten können.

Was ist der schnellste Weg, um das zu erreichen?

    
Shamim Hafiz 01.11.2010, 12:57
quelle

4 Antworten

23

Kopieren Sie das Formular im Visual Studio Solution Explorer. Benenne es um. Und ändern Sie den Klassennamen manuell in .cs und .Designer.cs Dateien . Verwenden Sie nicht die VS-Refactoring-Funktion, da sie Verweise auf die ursprüngliche Klasse wegbläst.

    
Kamyar 01.11.2010, 13:18
quelle
9

Um ein Formular zu duplizieren (im selben Projekt):

  1. Rechtsklick auf das Quellformular - & gt; Kopieren Sie
  2. Klicken Sie mit der rechten Maustaste auf den Zielordner / das Projekt - & gt; Einfügen
  3. Rechtsklick auf das neue Formular - & gt; Benennen Sie
  4. um
  5. Ändern Sie den Klassennamen manuell in .cs
  6. Ändern Sie den Namen des Konstruktors in .cs
  7. manuell
  8. Ändern Sie den Klassennamen manuell in .Designer.cs

Viel Spaß!

    
David 15.11.2011 07:39
quelle
1

Warum müssen Sie das Formular duplizieren? Versuchen Sie, ein Refactoring zu finden, das Ihnen helfen kann, z. Erstellen Sie eine Basisform und extrahieren Sie dort die gemeinsame Logik.
Jedes Mal, wenn du ein Duplikat machst, stirbt das Kätzchen!

    
Andrew Bezzub 01.11.2010 13:06
quelle
0

Sie können einfach ein neues leeres Formular hinzufügen und dann alle Elemente auf dem ursprünglichen Formular auswählen und sie in das neue Formular einfügen. Dadurch wird der Code jedoch nicht kopiert. Das kann aber auch mit Copy Paste gelöst werden.

Dies wird keine Umbenennungskonflikte verursachen.

    
Liviu M. 01.11.2010 13:03
quelle