デザイン時のプロパティグリッド関連の属性

IDesignerとか難しいのは分からないので簡単なTips。
デザイン時にプロパティグリッドに公開する方法。

publicでget可能なプロパティが公開されます。公開したくない場合は、[Browsable(false)] をつければOK。
属性を何もつけないとその他に分類されるので、注意。

以下、分類の指定、デフォルト値の指定、説明をつける例。
一行目に注目。

[Description("Start color."), Category( "Appearance" ), DefaultValue( "196, 215, 245" )]
public Color StartColor
{
  get { return startColor; }
  set
  {
    startColor = value;
    if ( this.IsHandleCreated && this.Visible )
    {
      Invalidate();
    }
  }
}
Description
説明
Category
カテゴリ
DefaultValue
デフォルト値

デフォルト値と説明は、サンプル見て分かる通りの働きです。
カテゴリはあらかじめ定義された共通カテゴリがあるので、それを指定したり、新たに定義したりできます。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemComponentModelCategoryAttributeClassTopic.asp


こんなのもありました。今度読んでみよう。
http://www.microsoft.com/japan/msdn/net/general/vsnetpropbrow.asp


リッチクライアントを作る前準備なんかでWinFormの部品を作ってるときなんかには、この属性を使うと便利ですね。