有关Windows窗体工作方式的设计决策或多或少排除了Windows窗体组件的参数化.ctors。您可以使用它们,但是当您这样做时,便会超出公认的机制。而是Windows窗体更喜欢通过属性初始化值。如果未广泛使用,这是一种有效的设计技术。
不过,这有一些好处。
表单中也有很多支持,可以与设计师一起使用此技术。,和这样的东西DefaultValueAttribute
,使您有机会以最小的努力提供丰富的客户体验。DesignerSerializationVisibilityAttribute
BrowsableAttribute
(这并不是在Windows窗体中为客户体验做出的唯一折衷。抽象基类组件也可能变得很笨拙。)
我建议坚持使用无参数构造函数,并在Windows窗体设计原则中进行工作。如果UserControl
必须执行一些实际的先决条件,则将它们封装在另一个类中,然后通过一个属性将该类的实例分配给您的控件。这也将更好地分离关注点。