9

エラーが発生します:

Two output file names resolved to the same output path: "obj\Debug\Project1.Form1.resources"

このエラーは、作成した Windows フォーム アプリケーションを実行しようとしたときに発生します。いくつかの検索で、これは 2 つの .resx ファイルが発生したために発生することがわかりました。アプリケーションに 2 つの .resx ファイルがあります。また、アプリケーションには 2 つのフォームがあります。最初のフォームをコピーし、コピーの名前を変更して変更することで、2 番目のフォームを作成しました。2 つの .resx ファイルは、form1.resx と form2.resx です。このエラーを取り除くにはどうすればよいですか?

4

7 に答える 7

7

なぜそれをするのかわかりませんが、これらの手順を使用してフォームを適切にコピーできます。お勧めしません。ユーザー コントロールを継承または使用することをお勧めします。しかし、あなたがしなければならない場合:

  1. 2 番目のフォームを削除します。
  2. 実際にフォームを作成して再現する
  3. InitializeComponentメソッドをform1.designer新しいフォームにコピーします
  4. 以下の部分もコピーしてInitializeComponentください。
  5. のコードをform1新しいフォームにコピーし、コンストラクターを修正してください。
  6. コピーペーストを使用して完全なフォームをコピーしないでください

編集

誰かがページ変更ボタンを押すと、次のことができます。

  private void button1_Click(object sender, EventArgs e)
  {
     Form2 frm = new Form2(NextPage);
     frm.Show();
     this.Hide();
  }

これは非常に基本的な構文です。新しいフォームを何度も作成しないように、すべてのフォームを保持するマスター フォームが必要になる場合があります。

デザインはあなた次第です。この例では、フォームの開閉方法の基本を説明します。

于 2013-09-12T08:24:36.653 に答える
0

FormSettings という 2 番目のフォームをプロジェクトに 2 回追加しましたが、後で説明したエラーが発生しました。それを修正するために、プロジェクトから FormSettings を削除しました。その後、FormSettings という名前のすべてのファイルの名前を FormSettingsOld に変更しました。アプリケーションをビルドすると、FormSettings に関するエラーが発生しました。FormSettings への参照を含むプロジェクト内のすべてのファイルを検索しました。ProjectName.csproj が FormSettings を参照していることがわかり、次のような FormSettings に関連する重複した XML エントリを削除しました。

<Compile Include="FormSettings.Designer.cs">
<DependentUpon>FormSettings.cs</DependentUpon>
</Compile>
<Compile Include="FormSettings.Designer.cs">
  <DependentUpon>FormSettings.cs</DependentUpon>
</Compile>
于 2015-04-06T09:53:10.700 に答える
0

私の場合、.resx ファイルのコピーが 2 つ表示されませんでした。Visual Studio 2010 を再起動するだけで、問題はなくなりました。

于 2014-05-01T19:26:27.760 に答える
-1

フォームをコピーするとき、少なくとも新しいフォームの名前を変更した場合、ソース フォームのクラス名が新しいフォームの名前に変更されているようです。宛先フォーム (クラス ファイル、コンストラクター、およびデザイナー ファイル) の元の名前を復元しました。ここでも変更が必要なため、元のクラス名の使用法を確認することも忘れないでください。これで問題は解決しました。(ビジュアルスタジオ 2010)

于 2015-05-18T11:38:50.310 に答える