我在这个表单中有一个名为EmployeeForm
的表单,我包含一些UserControl,当我编辑EmployeeForm
时,表单中的每个UserControl都会丢失。
此图片显示修改组合框名称后TFS(左)和本地(右)文件之间的差异
this.ucEmployeeKeyOne的例子:
public partial class Employee_EmployeeKeyOneRelationUC
: Employee_EmployeeKeyOneRelation_GenericUC
{ [other Code Here] }
public class Employee_EmployeeKeyOneRelation_GenericUC
: RelationUC<MyObject>
{ }
和RelationUC的定义:
public partial class RelationUC<T>
: DataUserControlBase
{ [other Code Here] }
public partial class DataUserControlBase
: UserControlBase
{ [other Code Here] }
public partial class UserControlBase
: System.Windows.Forms.UserControl, MyInterfaceHere
{ [other Code Here] }
我失去的所有UserControl
都是从RelationUC<T>
继承的。 RelationUC的泛型类型是否会导致问题?
答案 0 :(得分:3)
对于Vs设计者加载控件,控件应该能够初始化包括所有公共属性,并且您必须有一个空构造函数。如果您没有空构造函数或者具有从继承的可空类返回的属性,则很可能设计器将崩溃。
要调试它,
1)在VS中打开您的项目,但不要打开包含控件的文件;
2)打开另一个VS并附加VS项目已打开的过程;
3)设置例外中断(捷径' CTRL + D , CTRL + E ' )对所有人(一旦你熟悉设计师抛出的异常,你就可以只设置那个例外。);
4)使用项目转到VS并打开包含用户控件的文件。当抛出异常时,第二个VS会抓住它并告诉你确切的原因和位置。