我有一个UserControl
看起来像这样的层次结构:
public class BaseClass : UserControl
{
protected Label[] Labels;
public BaseClass(int num)
{
Labels = new Label[num];
for(int i=0; i<num; i++)
{
Labels[i] = new Label();
}
}
}
在另一个文件中:
public class DerivedClass : BaseClass
{
public DerivedClass() : base(2)
{
// Do stuff to the location, size, font, text of Labels
}
}
设计此结构以便 BaseClass 处理核心逻辑,而 DerivedClass 处理显示逻辑。Labels 的数量需要是可变的(不同的 DerivedClass 会有不同的 num 值)。
我的问题是我希望设计器视图显示 UserControl,因为它会照顾显示调整。有几个问题——首先,如果 BaseClass 缺少默认构造函数,那么 DerivedClass 的设计器视图就会失败。即使我添加了默认构造函数,设计器视图也会显示 DerivedClass 的布局,而不会进行各种显示更改。
我对使用设计器视图来更改控件不感兴趣。我并不反对它,但标签位于数组中的事实似乎阻止了设计器视图能够访问它们。我只是对能够在 DerivedClass 中查看我的显示布局代码的效果感兴趣。