15

I have a form in my existing project.

My current task is to make a duplicate of an existing form and change few things on the new form. Making a copy of the form cs files would not do since the existing contents themselves refer to file information.

Simply put, I am trying to crate a form name MyNewForm, which will be a direct duplicate of MyCurrentForm without causing any naming conflict that may arise in mere copy pasting of code content.

What is the fastest way I can achieve this?

4

4 に答える 4

29

Visual Studio ソリューション エクスプローラーでフォームをコピーします。名前を変更します。また、.cs ファイルと .Designer.cs ファイルの両方でクラス名を手動で変更します。元のクラスへの参照を吹き飛ばすため、VS リファクタリング機能を使用しないでください。

于 2010-11-01T13:18:24.327 に答える
11

フォームを (同じプロジェクト内で) 複製するには:

  1. ソースフォームを右クリック --> コピー
  2. 宛先フォルダー/プロジェクトを右クリック --> 貼り付け
  3. 新しいフォームを右クリック --> 名前の変更
  4. .cs のクラス名を手動で変更する
  5. .cs のコンストラクター名を手動で変更する
  6. .Designer.cs のクラス名を手動で変更します

楽しみ!

于 2011-11-15T07:39:15.733 に答える
1

なぜフォームの複製を作成する必要があるのですか? たとえば、いくつかの基本フォームを作成し、そこに共通のロジックを抽出するなど、役立つリファクタリングを見つけてみてください。
複製を作るたびに子猫が死ぬ!

于 2010-11-01T13:06:10.780 に答える
0

新しい空白のフォームを追加し、元のフォームのすべての項目を選択して新しいフォームに貼り付けることができます。ただし、これはコードビハインドをコピーしません。しかし、それもコピーペーストで解決できます。

これにより、名前変更の競合は発生しません。

于 2010-11-01T13:03:34.273 に答える