• カスタムControlで、デフォルトFontやBackColor/ForeColorを変更すると、そのままではVSのデザイナがシリアライズしてしまい、ちょっと問題がある。そのためAmbientValueとかいじるのかとか思っていたけど、結局は以下のような感じにする(Fontを変更した場合)。つまり、VSデザイナがリフレクションで、ShouldSerialize(プロパティ名) メソッドを探して、見つかれば、それを元にデフォルト値かどうかをチェックしているのだ。
[EditorBrowsable(EditorBrowsableState.Never)]
internal bool ShouldSerializeFont()
{
	if (useSystemFont)
		return false;
	else
		return base.Font != Control.DefaultFont;
	} 
}