可视化inheritance – 将设计器中的控件添加到TableLayoutPanel中托管的Panel
我正在制作一个基本表单(WinForm),就像我的一般表单设计的蓝图一样,我希望面板(截图中的P_Content)是控件放在子表单中的位置。
但是说P_Content被锁定在子窗体中,在代码中添加控件显然有效但在设计视图中却没有。
该面板是公共的,其父容器( TableLayoutPanel
)也是公共的。
这看起来很基本,但我似乎无法找到任何答案为什么会发生这种情况。
P_Content是一个很大的空白空间。
它似乎已经在TableLayoutPanel
托管了Panel
。 根据文档,您应该避免TableLayoutPanel
可视inheritance:
TableLayoutPanel
控件不支持Windows窗体设计器中的可视inheritance。 派生类中的TableLayoutPanel
控件在设计时显示为“已锁定”。
行为不仅限于TableLayoutPanel
,并且记录了一些其他控件也不支持基本表单的可视inheritance,并且无论您使用哪些修饰符,它都将始终为只读并在inheritance表单中显示为已锁定:
并非所有控件都支持基本表单的可视inheritance。 以下控件不支持本演练中描述的方案:
WebBrowser
ToolStrip
ToolStripPanel
TableLayoutPanel
FlowLayoutPanel
DataGridView
无论您使用哪些修饰符(private,protected或public),inheritanceforms的这些控件都是只读的。