4

部分クラス アプローチを使用してピースに分割したい大きな Form クラスがあります。

これは、プロジェクト ファイルを手動で変更し、MainFormPN.vb エントリを追加することで実行できます。

<Compile Include="MainForm.vb">
  <SubType>Form</SubType>
</Compile>    
<Compile Include="MainForm.Designer.vb">
  <DependentUpon>MainForm.vb</DependentUpon>
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainFormPN.vb">
  <DependentUpon>MainForm.vb</DependentUpon>
</Compile>

このアプローチの問題は、VS2008 IDE でこの項目をダブルクリックすると、MainForm UI ではなく、新しい空のフォームが表示されることです。VS2008 はフォームの複数の部分クラスをサポートしていないようです。それは可能ですか?

4

2 に答える 2

2

実際には、複数の部分クラス ファイルを使用しても問題なく動作します。私は以前にそれを行ったことがあります(それを誇りに思っているわけではありませんが...フォームが非常にモノリシックで複数のファイルに分割する必要がある場合は、コードをリファクタリングするときが来たのかもしれません)。

部分クラスを開こうとすると、Windows フォーム デザイナーに空白のフォームが表示されるという事実は、Visual Studio の特異性にすぎません。「メイン」フォーム ファイル (この場合は MainForm.vb) をダブルクリックする限り、正しく表示されます。

つまり、心配する必要はありません。部分クラス ファイルのコードは、実際にはすべて同じクラスに属しています。

于 2010-09-03T20:29:17.183 に答える
0

別の可能なアプローチは、機能のグループをユーザー コントロールにカプセル化することです。これにより、ロジックがカプセル化され、コードが管理しやすくなり (適切に行われた場合)、GUI デザイナーに関して VS や部分的なフォーム クラスの愚かさなしに同じ効果が得られます。

于 2010-12-21T06:58:31.737 に答える