2

3 つの異なる (ただし、同じデータベース接続を共有する) Windows フォーム アプリケーションを作成しました。このような各アプリケーションは非常にシンプルで、単一のフォームのみで構成されています。

Form1、Form2、Form3 の 3 つのフォームがあると仮定すると、Form1 をメイン フォーム (および唯一のアプリケーション) として定義し、Form2 と Form3 を Form1 アプリケーションの一部として、独立したアプリケーションとしてではなく、Form1 内から呼び出す必要があります。次のようなもの:

private void btnForm2_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.Show();
}

private void btnForm3_Click(object sender, EventArgs e)
{
    Form3 form3 = new Form3();
    form3.Show();
}

それは簡単に思えますが、VS 2010 が既に「自動的に」行ったことの整合性を損なうことなく、Form2 と Form3 を Form1 プロジェクトにインポートする方法について混乱しています。

つまりForm2.cs、プロジェクトにドラッグ アンド ドロップする必要があるのはファイルだけではなく、Form1その他のファイル ( .Form2.Designer.csForm2.resx

プロジェクトの下にあるファイルもコピーする必要がありPropertiesますReferencesか?

3 つのプロジェクトを 1 つに整然と変換するために必要な手順は何ですか?

4

1 に答える 1

2

ソリューション「Form1」から、他のプロジェクトをインポートできます。

(ソリューションを右クリック: [追加] > [既存のプロジェクト])

これで、次のようになります。

- MySolution
    - Project: Form1
    - Project: Form2
    - Project: Form3

ビルド順序とプロジェクト間のビルド依存関係をセットアップする必要があります。

もう 1 つの方法は、あるプロジェクトから別のプロジェクトにファイルを手動でコピーし、プロジェクトに追加することです。はい、VS が作成したすべてのファイルが必要です。(resx、.Designer.cs など) パッケージ全体をプロジェクトのフォルダーにコピー アンド ドロップするだけです。

いいえ、他の 2 つのプロジェクトのいずれかに異なる参照がない限り、[プロパティ] または [参照] に触れる必要はありません。コピーするファイルには、ファイルの「xxx の使用」部分にエラーがあるため、追跡するのは簡単なはずです。正しい参照を追加するだけです。

(プロジェクトを右クリック: [追加] > [既存のアイテム])

あなたのプロジェクトは大きくないように見えるので、解決策 2 を使用します。

于 2012-10-29T00:49:04.473 に答える