如何在从 Form 派生的 class 中公开控件的所有属性?

How to expose ALL properties of a Control in a class derived from Form?

我有 class 来自 Form,它包含一个 TableLayoutPanel,其中一个 Label 和一个 Panel。当我创建此窗体的实例时,设计编辑器中控件的所有属性和事件都是只读的。有什么办法可以公开整个对象进行编辑吗?我知道我可以一个一个地公开属性,但这不是最好的方式,以防您需要所有属性。

您可以使用internal或制作getter方法/属性

public Label GetLabel() => return someLabel;

public Label MyLabel { get { return someLabel; } }

internal Label someLabel;

看看here:

Avoid Visual Inheritance

The TableLayoutPanel control does not support visual inheritance in the Windows Forms Designer. A TableLayoutPanel control in a derived class appears as locked at design time.