因此,我有一个现有项目,其中包含嵌套在面板和拆分器等中的自定义选项卡控件。
现在我需要通过设计视图向该选项卡控件的其中一个页面添加一些内容。
但是,当我查看有问题的表单时,标签控件无处可见(并且不在页面上当前控件的下拉列表中)。
选项卡控件位于设计器代码中,并在您运行时出现。
对这个可能是菜鸟的问题有什么建议吗?
编辑
好的,我可能应该提到这一点,但我想我忘记了——表单是继承的表单。此表单与继承表单的一些差异存在,但选项卡控件不存在
因此,我有一个现有项目,其中包含嵌套在面板和拆分器等中的自定义选项卡控件。
现在我需要通过设计视图向该选项卡控件的其中一个页面添加一些内容。
但是,当我查看有问题的表单时,标签控件无处可见(并且不在页面上当前控件的下拉列表中)。
选项卡控件位于设计器代码中,并在您运行时出现。
对这个可能是菜鸟的问题有什么建议吗?
编辑
好的,我可能应该提到这一点,但我想我忘记了——表单是继承的表单。此表单与继承表单的一些差异存在,但选项卡控件不存在
选项卡控件在基本形式中可能是 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-tags)。
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.designer.cs"/>
<EmbeddedResource Include="MainForm.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
检查此反馈文章是否与您的问题相符。
您是否尝试过添加包含一些内容的选项卡?有时,当没有任何内容可供托管时,设计师不喜欢向您展示托管内容的东西。
所以..
我注意到 .designer、.resx 和表单类代码在 Visual Studio 中都被列为单独的文件(不会自动加入)。
我不知道是什么原因造成的,恢复源代码+项目没有帮助。
但是..我决定做我应该做的事,即分别保存 3 个文件,通过 Visual Studio 界面将它们全部删除,保存项目,将 3 个文件移回并将它们添加为现有项目,然后再保存和重建一切。毕竟这一切又好了……
如果有人知道为什么将三个文件分开,我会在那里奖励赏金:-)
也感谢以上所有反馈:-)