C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 11 を表示中)
■2166 / )  Re[1]: コントロールプロパティについて
□投稿者/ よねKEN (24回)-(2007/03/22(Thu) 13:44:13)
よねKEN さんの Web サイト
2007/03/22(Thu) 13:45:46 編集(投稿者)

> C#にて画面レイアウトを行う際、各種コントロールを配置すると思いますが、
> その複数コントロールのプロパティを一元管理する様な手法はありますでしょうか?

あまり一元管理するメリットがわかりませんが、
具体的に行いたい内容によりケースバイケースなのではないでしょうか?

> 例)
> TextBoxを2つ配置・RadioBoxを3つ配置
> 上記5つのコントロールの、フォントを統一したいのですが、
> それぞれのコントロールプロパティを変更するのではなく、
> 一箇所変更すればすべて反映される様な仕組みは作れない
> ものでしょうか?

この例だけに関して言えば、各コントロールを配置する前に、
配置先の親コントロールのFontを統一したいフォントにしておくだけでOKです。

また、この例の場合だけなら、Control.Controlsプロパティからコントロールを再帰的に列挙して、
列挙した各コントロールに同一の処理を適用するという方法も取れるでしょう。

> 出来るだけ好メンテ対応にしたいものですから、、、

個人的な意見ですが、同じ値を機械的にセットしたいような場面はそう多くないように思います。
あるいは最初は仕様ですべて統一するということになっていたけど、
お客様の要望でXXXの項目は例外、YYYの項目も例外といったように例外事項が発生することもあります。

例外事項が出てくると良かれと思って行った一元管理の部分と例外の部分が混合する形になり、
逆効果になる場合もありますので、単純にコードの行数が減る=メンテナンスがよくなる、とは考えない方がよいと思います。

以下、余談です。
今回の話とは内容は違いますが、ソースコードのメンテナンス性のお話が以下にあります。参考までに。

○キミのコードが汚い理由 - @IT
http://www.atmarkit.co.jp/im/carc/serial/redge51/redge51.html
ソースコードを綺麗に書く方法の記事のはずなんだけど、私的には、よろしくない共通化、
読みづらくする形でのコードの短縮化な悪例になっているように思いました。

○第3のコード - 菊池 ブログ
http://www.ailight.jp/blog/kazuk/archive/2007/01/12/13497.aspx
私同様のことを思った方は他にもいらっしゃるようですね。

返信 編集キー/


管理者用

- Child Tree -