14

MainUI というフォームを含む WinForm プロジェクトがあります。自動生成された部分クラスが の下のノードとして表示されることがわかりますMainUI.cs。別のノードとして表示されるように、自分で作成した部分クラスを「移動」する方法はありMainUI.Other.csますか?MainUI.cs

代替テキスト

4

3 に答える 3

13

Visual Studio でソリューションを閉じ、.csproj ファイルをテキスト エディターで開きます。MainUI.Other.cs を見つけて、次の XML 要素を追加します。

<Compile Include="MainUI.Other.cs">
  <SubType>Form</SubType>
  <DependentUpon>MainUI.cs</DependentUpon>  <!-- this is the magic incantation -->
</Compile>

Visual Studio でソリューションを再度開き、結節下の良さを享受してください。

そうは言っても、これが良い考えかどうかを再考することをお勧めします。.designer.cs ファイルがサブノードとして表示される理由は、通常、デザイナーを介して表示または編集する生成コードが含まれているため、通常は開く必要がないか、開く必要がないためです。部分クラス ファイルには、編集して表示したいコードが含まれます。ファイルがソリューション エクスプローラーで簡単に表示されない場合、メンテナンス プログラマーが混乱する可能性があります。ただし、自分のプロジェクトに何が適切かを知ることができるのは自分だけです。心に留めておくべきことがあります。

于 2010-03-21T03:59:49.583 に答える
1

はい、可能ですが、プロジェクト ファイルを手動で編集する必要があります。

プロジェクト ファイル (XML エディターで開く) で、ファイル リスト項目グループを見つけます。私の例では、フォームを「Form1.cs」のままにしました。"<DependentUpon>"以下の例に従って、子要素を拡張クラスに追加します。

 <Compile Include="Form1.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Form1.Designer.cs">
      <DependentUpon>Form1.cs</DependentUpon>
    </Compile>
    <Compile Include="Form1.Designer.Other.cs">
      <DependentUpon>Form1.cs</DependentUpon>
      <SubType>Form</SubType>
    </Compile>

ただし、通常は、生成されていないコードを子ノードとして非表示にすることは望ましくありません。私の通常のやり方は、プロジェクト内に「Partial Classes」というフォルダーを作成し、それらをすべて同じ場所に追加することです。

于 2010-03-21T04:05:21.773 に答える
0

プロジェクト ソース ファイルを変更して、関連ファイルをグループ化できます。プロジェクト ソース ファイルで、MainUI.cs を含む ItemGroup 要素を見つけ、MainUI.Others.cs のエントリを追加します。

これを行う方法を詳細に示すブログ投稿を次に示します。 グループ/ネスト ソース コード ファイル

于 2010-03-21T03:59:00.880 に答える