2

全部,

我正在使用 MSVS 2010 使用 C#/WinForms 进行项目。我从组框派生了一个对象,并更改了它的构造函数,以便在构造时采用整数变量。我将我的对象添加到工具箱中,并且可以成功地将该对象插入到 GUI 设计器中。

但是每次我对表单进行更改时,我的自定义构造函数都会更改。

因此,我需要一种方法来修复 VS,以便每次更改表单时代码都不会自行重建,或者我需要其他方法来修复自定义对象中的代码。

基本上我所做的取决于我传递的参数,我正在创建不同的小部件集并将它们展示给用户。但我制作了那个对象,因为我试图消除代码重复。

有人可以帮忙吗?

谢谢你。

4

1 回答 1

1

默认的无参数构造函数必须保留,它应该调用InitializeComponents. 如果这样做了,那么添加辅助构造函数应该没问题,设计者不应该乱用它。

但是,我建议不要使用重载的构造函数,而是公开方法或属性来完成 WinForms 控件所需的任务。

在 WinRome 中,按照..


二级构造函数示例:

// Leave this constructor - in the X.designer.cs file
public MyType () {
    InitializeComponents();
}

// Add your own constructor - in the X.cs file
public MyType (int x) : this() {
    // ..
}

更新:避免手动编辑“X.designer.cs”文件;这些是给设计师的。相反,编辑镜像“X.cs”文件。部分类用于在这两个文件之间传播设计器代码和您的自定义代码。

于 2012-08-17T01:44:13.550 回答