3

そのため、パネルやスプリッターなどにネストされたカスタムタブコントロールを備えた既存のプロジェクトがあります。

次に、デザインビューを使用して、このタブコントロールのページの1つに何かを追加する必要があります。

ただし、問題のフォームを表示すると、タブコントロールはどこにも表示されません(ページ上の現在のコントロールのドロップダウンには表示されません)。

タブコントロールはデザイナーコードにあり、実行すると表示されます。

このおそらく初心者の質問に対するアドバイスはありますか?

編集

さて、私はおそらくこれについて言及すべきでしたが、私は忘れたと思います-フォームは継承されたフォームです。このフォームと継承されたフォームの違いのいくつかは存在しますが、タブコントロールには存在しません

4

4 に答える 4

3

タブ コントロールは、おそらくベース フォームでは Private です。タブ コントロールの Modifier プロパティを Protected または Public に設定してみてください (ベース フォームのデザイナーから)。

コントロール フィールドが非公開の場合、フォームを継承するデザイナーでは使用できませんが、実行時には表示されます。

更新、著者による新しい質問

誰かがテキスト エディタで csproj ファイルを編集しなければ、どうなったのかわかりません。ただし、この例は、フォーム インクルードが csproj でどのように表示されるかを示しています。

<Compile Include="MainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.designer.cs">
  <DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="MainForm.resx">
  <DependentUpon>MainForm.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>

この例では、説明した動作が発生します。(DependentUpon タグが削除されました)。

<Compile Include="MainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.designer.cs"/>
<EmbeddedResource Include="MainForm.resx">
  <SubType>Designer</SubType>
</EmbeddedResource>
于 2009-03-04T22:08:00.980 に答える
2

このフィードバック記事があなたの問題と一致するかどうかを確認してください。

于 2009-02-27T22:53:07.233 に答える
0

そう..

Visual Studio では、.designer、.resx、およびフォーム クラス コードがすべて個別のファイルとしてリストされていることに気付きました (自動的に結合されません)。

何が原因で、ソースコードとプロジェクトを元に戻しても解決しませんでした。

しかし..私は、3つのファイルを別々に保存し、Visual Studioインターフェイスを介してそれらをすべて削除し、プロジェクトを保存し、保存する前に、3つのファイルを元に戻し、既存のアイテムとして追加するという、ずっと前にすべきことを行うことにしました。すべてを再構築します。このすべての後、すべてが再びうまくいきます...

3 つのファイルが分離された理由を誰かがよく知っている場合は、賞金を授与します :-)

上記のすべてのフィードバックにも感謝します:-)

于 2009-03-04T22:13:22.373 に答える