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 が表示ロジックを処理するように設計されています。ラベルの数は可変である必要があります (DerivedClasses が異なれば num 値も異なります)。
私の問題は、表示調整の後に表示されるように、デザイナー ビューに UserControl を表示することです。いくつかの問題があります。まず、BaseClass に既定のコンストラクターがない場合、DerivedClass のデザイナー ビューが単に失敗します。デフォルトのコンストラクターを追加しても、デザイナー ビューには、さまざまな表示変更なしで DerivedClass のレイアウトが表示されます。
デザイナー ビューを使用してコントロールを変更することに興味はありません。反対ではありませんが、ラベルが配列にあるという事実は、デザイナー ビューがラベルにアクセスできないように思われます。DerivedClass でディスプレイ レイアウト コードの効果を確認できることに単純に興味があります。