本来想着用一个抽象的用户控件类把公共功能提取出来,这样能方便使用继承于它的控件,但发觉继承控件是无法使用设计器的,可见VS设计器会对控件进行构造,而抽象类是无法实例化的。原来的基类设计以下:

publicpartialclassOneDataBaseUC:UserControl{publicOneDataBaseUC(){InitializeComponent();}publicabstractboolCanEdit{get;set;}publicabstractvoidInit();publicabstractvoidSaveValue(stringoutKeyID);publicabstractvoidDeleteValue(stringoutKeyID);publicabstractvoidClearControlValue();publicabstractstringModuleName{get;set;}publicabstractvoidShowValue(stringoutKeyID);}

继承控件如下

publicpartialclassBasicUserRolesUC:OneDataBaseUC{publicBasicUserRolesUC(){InitializeComponent();}}

结果设计器打开BasicUserRolesUC会报错,可见OneDataBaseUC不能是抽象的,当然如果不需要设计器设计是没问题的