2007年10月29日月曜日

[.NET]コントロールやコンポーネントのデフォルト値

自分でカスタマイズしたコントロールやコンポーネントは、VS.NETのデザイナで利用することができます。ツールボックスに表示され、Formにドロップすることで利用することが可能で、その際、そのクラスのプロパティは、デザイナのプロパティとして表示・設定することが出来ます。

で、設定するとその値は、該当のFormのxxx.Designer.csなどに含まれるInitializeComponent()メソッドに設定されます。コードが自動生成されるイメージです。で、プロパティに[DefaultValue("")]のようなアトリビュートを付けると、その値は初期値となるため、設定したのが初期値の場合、プロパティ設定のコードが省略されます。

それの何がよいかというと、コントロールの初期値を変更するだけで、値を設定していないプロパティが一気に切り替わるところです。しかし設定できる値の条件があり、Cololr型などの場合、[DefaultValue(Cololr.Red)]のような書き方をすることが出来ません。
で調べてみると、DefaultValueには引数が2つ渡せるようで、[DefaultValue(typeof(Color),"Red")]のような書き方が出ることがわかりました。ちょっと感動です。

0 件のコメント: