C# Winform窗体继承过程中,TableLayoutPanel是不支持继承的
https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/controls/best-practices-for-the-tablelayoutpanel-control?view=netframeworkdesktop-4.8#avoid-visual-inheritance
TableLayoutPanel 控件的最佳做法
建议
以下建议将帮助你充分利用 TableLayoutPanel 控件。
目标使用
请 TableLayoutPanel 谨慎使用 控件。 不应在需要可调整大小布局的所有情况下使用它。 以下列表描述了从控件的使用中获益最大的 TableLayoutPanel 布局:
-
布局,其中窗体的多个部分彼此按比例调整大小。
-
将在运行时动态修改或生成的布局,例如数据输入窗体,这些窗体根据首选项添加或减去用户可自定义的字段。
-
应保持整体固定大小的布局。 例如,你可能有一个应小于 800 x 600 的对话框,但需要支持本地化字符串。
以下列表描述了使用 控件无法显著受益的 TableLayoutPanel 布局:
-
包含一列标签和一列文本输入区域的简单数据输入窗体。
-
具有单个大型显示区域(应在调整大小时填充所有可用空间)的窗体。 例如,显示单个控件的 PropertyGrid 窗体。 在这种情况下,请使用定位,因为在调整窗体大小时不应展开任何其他内容。
仔细选择要在 控件中的 TableLayoutPanel 控件。 如果使用定位点,文本可以增长 30%,请考虑仅使用 Anchor 属性。 如果可以估计布局所需的空间,则 使用 和 比估计剩余空间 Dock Anchor 和行为的详细信息更容易 AutoSize 。
通常,使用 控件设计布局时, TableLayoutPanel 请尽可能简化设计。
使用"文档大纲"窗口
"文档大纲"窗口提供布局的树视图,可用于操作控件的 z 顺序和父子关系。 在"视图"菜单中, 选择"其他 Windows", 然后选择"文档大纲"。
避免嵌套
避免在 控件 TableLayoutPanel 中嵌套其他 TableLayoutPanel 控件。 调试嵌套布局可能很困难。
避免视觉继承
控件 TableLayoutPanel 不支持在窗体设计器的 Windows 窗体设计器中Visual Studio。 派生 TableLayoutPanel 类中的控件在设计时显示为"已锁定"。