C# VS.Net2013设计器删除自定义控件实例化

C# VS.Net2013设计器删除自定义控件实例化,c#,winforms,visual-studio-2013,custom-controls,designer,C#,Winforms,Visual Studio 2013,Custom Controls,Designer,我有一个带有表单等的项目,还有一个带有UserControls和extended控件的DLL项目,都带有.Net4.5.1和WinForms。几周前,我从VS-Net2013进行了一次迁移,但我所说的自定义控件当时并不存在。在Designer中,每次编辑我的表单时,新的form.Designer.cs都会丢失自定义gridview的实例化。与此控件相关的所有其他部分仍在设计器代码中 public class RichGridView : DataGridView { ... } Form.De

我有一个带有表单等的项目,还有一个带有UserControls和extended控件的DLL项目,都带有.Net4.5.1和WinForms。几周前,我从VS-Net2013进行了一次迁移,但我所说的自定义控件当时并不存在。在Designer中,每次编辑我的表单时,新的form.Designer.cs都会丢失自定义gridview的实例化。与此控件相关的所有其他部分仍在设计器代码中

public class RichGridView : DataGridView { ... }
Form.Designer.cs中缺少的部分是:

            this.dataDGV = new RichGridView(Definitions.DataType);
我可以把这行代码放回设计器代码中,但这不是它应该的方式。我正在检查是否存在其他文件,其中VS可能会存储有关其设计器文件中处理的控件的信息,但没有找到任何内容。不久前,设计师只丢弃了几行代码,因此我可以在designer窗口中毫无问题地编辑我的表单,而且很少丢弃实例化,现在每次编辑都是如此

另一个包含带有自定义控件的DLL的项目已成功编译,可用于我的Forms项目,而且在另一个项目中没有任何更改。如果问题的关键是自定义控件不在Forms项目中:我必须这样做,因为在处理有关32位和64位以及调试可能性的UserControls时,VS中存在限制


不确定我的代码中是否有某些部分是这个问题所必需的。

这是否与缺少无参数构造函数()有关?您不应该手动编辑Form.Designer.cs,并且您的控件必须具有无参数构造函数。那么,为什么它在开始时工作,而VS没有像现在这样每次都将其丢弃?参数只是一个正在设置的enumtype属性,而不是更多的逻辑。我一直在考虑这个问题,但几乎没有那种财产。还有一些WinForm控件在设计器代码中用参数实例化。为什么会这样?您是指组件(
定时器、菜单等)?因为它们要求
IContainer
按照表单、系统、图纸、尺寸(866173)进行适当处理;系统图点(3,27);System.Windows.Forms.TreeNode(“控制”)。。。尽管我的构造函数中有一个参数,只是设置了类型,但没有更多的逻辑,如果没有这个参数,这很好,但很难理解,因为我可以编辑表单并运行它,也可以编辑表单中的自定义控件,debug,等等。如果设计器不能与我的构造函数一起工作,则不应允许在表单中编辑我的控件。