カスタムコントロール

簡単に作れると思っていたのだが、甘かった。

ちょっと試したくて、System.Windows.Forms.ListControlから継承したコントロールを作っていたのだが、AutoSizeプロパティがデザイン時のプロパティシートに表示されない。どうしても表示されない。プロパティをオーバライドしても表示されない。

なんてこたぁない、正解はカスタム属性を指定してやるだけだった。

[Browsable(true)]
public new bool AutoSize

むろん、このカスタム属性は知っていたのだが、まさかルートクラスであるSystem.Windows.Forms.Controlクラスで、同プロパティが隠蔽、つまりBrowsable(false)とマークされているとは気がつかなかったのだ。

まいったまいった。