既存のWindowsフォームをVS2012WinFormプロジェクトに追加しようとすると、「アイテムの追加/既存...」に移動してから、MyForm.cs、MyForm.designer.cs、MyForm.resxをインポートします。
これは、以前のバージョンのVSで機能していました。 (名前空間を調整する必要があるかもしれません。)
VS2012では、MyForm.designer.csとMyForm.resxは、デザイナの目的でフォームに関連付けられなくなりました。つまり、MyFormの下にネストされているのではなく、ソリューションエクスプローラーに個別のファイルエントリとして表示されます。 MyFormをダブルクリックすると、エラーメッセージのない空のフォーム(コントロールなし)が表示されます。プロジェクトはコンパイルされ、正常に実行されます。
ただし、同じファイルをプロジェクトにドラッグアンドドロップ(名前空間の調整/名前変更)すると、フォームファイルは互いに適切に関連付けられ、Designerはフォームを正常に開きます。
私は今解決策を持っていますが、誰かがこれらのアプローチの違い、それが機能しない場合に追加/既存のアイテムオプションを持つことのポイントは何ですか、そしてファイルをドラッグするときに実際に何が起こっているのかを強調できますか?どのファイル(おそらく.csproj?)がフォームファイルの結合を担当しますか?以前のバージョンのVSでは両方の方法で機能するため、これはバグであると推測できますか?
ありがとう。
問題を再現しようとしましたが、成功しませんでした。
YourFormName
というフォームをインポートするとします。次に、プロジェクトにYourFormName.cs
のみを追加する必要があります。残りの部分(YourFormName.designer.cs
およびYourFormName.resx
)は自動的に追加されます。
私のステップ:
Csファイルとwait
だけを含めてください。他のファイルを追加する必要はありません。これは機能します。
project
> add existing item
に移動し、フォームmyform.cs
ファイルを選択して、add
ボタンをクリックします。これにより、ファイルがプロジェクトにインポートされます。