编辑winForm VS2012时丢失UserControl

时间:2013-04-18 19:45:12

标签: c# winforms visual-studio visual-studio-2012 devexpress

我在这个表单中有一个名为EmployeeForm的表单,我包含一些UserControl,当我编辑EmployeeForm时,表单中的每个UserControl都会丢失。

此图片显示修改组合框名称后TFS(左)和本地(右)文件之间的差异

enter image description here

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的泛型类型是否会导致问题?

1 个答案:

答案 0 :(得分:3)

对于Vs设计者加载控件,控件应该能够初始化包括所有公共属性,并且您必须有一个空构造函数。如果您没有空构造函数或者具有从继承的可空类返回的属性,则很可能设计器将崩溃。

要调试它,

1)在VS中打开您的项目,但不要打开包含控件的文件;

2)打开另一个VS并附加VS项目已打开的过程;

3)设置例外中断(捷径' CTRL + D CTRL + E ' )对所有人(一旦你熟悉设计师抛出的异常,你就可以只设置那个例外。);

4)使用项目转到VS并打开包含用户控件的文件。当抛出异常时,第二个VS会抓住它并告诉你确切的原因和位置。