2007/03/22(Thu) 13:46:13 編集(投稿者)
パネルをオーバーライドして下記のようなコントロールを定義しておけば、
この上に載せたコントロールのプロパティは一括変更されます。
階層構造を変更したくなければ、
フォームに同様の機能を持ったプロパティを定義し(この場合適切な属性が設定されていればオーバーライドプロパティである必要はありません)、
特定のタグ文字列を持っているコントロールのみを変更するという方法もあります。
またプロパティによっては標準で下層コントロールに継承されることもあります(実はForeColorもそう)。
public partial class PropertyChangerControl : Panel
{
public override Color ForeColor
{
get { return base.ForeColor; }
set
{
base.ForeColor = value;
foreach (Control c in Controls)
c.ForeColor = value;
}
}
}