C#本身就支持这个呀。你为你的控件写一个属性或一个事件,不过注意要写全,也就是说要写set和get这样,你把控件拖到窗体上后,就可以看到它会出现在右边的属性里。你可以用微软件默认的方式来处理,譬如说,你定义个
public Color color
{
    set{this.nextColor = value};
    get{return this.nextColor};
}
这时,你在属性窗口可以看到color属性,你点一下,就可以设置颜色,而它也把你所设置的颜色自动加到窗体的InitializeComponent方法中