C# &引用;没有给出与所需形式参数“相对应的参数”;论构造器
表单1是主表单,而在表单2中,有一个输入要在表单1中使用 表格1:C# &引用;没有给出与所需形式参数“相对应的参数”;论构造器,c#,forms,winforms,C#,Forms,Winforms,表单1是主表单,而在表单2中,有一个输入要在表单1中使用 表格1: public partial class Form1 : Form { public Form1(string size) { InitializeComponent(); lblsize.Text = size; } } public void btnok_Click(object sender, EventArgs e) { //strin
public partial class Form1 : Form
{
public Form1(string size)
{
InitializeComponent();
lblsize.Text = size;
}
}
public void btnok_Click(object sender, EventArgs e)
{
//string ukuran = txtsize.Text;
Form1 frm1 = new Form1(txtsize.Text);
this.Hide();
}
表格2:
public partial class Form1 : Form
{
public Form1(string size)
{
InitializeComponent();
lblsize.Text = size;
}
}
public void btnok_Click(object sender, EventArgs e)
{
//string ukuran = txtsize.Text;
Form1 frm1 = new Form1(txtsize.Text);
this.Hide();
}
然后我得到这个错误:
“未给出与所需形式参数'size'相对应的参数'Form1.Form1(string)'
在windows窗体应用程序项目中,您将有一个名为
Program.cs
的文件。在该文件中,您将发现一行类似于以下内容的代码:
Application.Run(new Form1());
这是应用程序的入口点。既然您在Form1
类中引入了另一个构造函数,那么就找不到默认的无参数构造函数。因此,您会遇到该错误
修复
要修复此错误,您可以向Form1
类添加无参数构造函数,如下所示:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
这将允许Program.cs
类在进入过程中构造Form1
,并且您将有另一个构造函数根据需要将size
传递给它
附加说明
在C#中,如果您有这样一个类:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
默认情况下,编译器将为您生成一个,如下所示:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
但是,一旦您添加了一个构造函数(您这样做了),编译器将不再为您创建默认构造函数(显然它没有)。希望解释有所帮助。在windows窗体应用程序项目中,您将有一个名为
Program.cs
的文件。在那里,您将发现一行类似于以下内容的代码:
Application.Run(new Form1());
这是应用程序的入口点。既然您在Form1
类中引入了另一个构造函数,那么就找不到默认的无参数构造函数。因此,您会遇到该错误
修复
要修复此错误,您可以向Form1
类添加无参数构造函数,如下所示:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
这将允许Program.cs
类在进入过程中构造Form1
,并且您将有另一个构造函数根据需要将size
传递给它
附加说明
在C#中,如果您有这样一个类:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
默认情况下,编译器将为您生成一个,如下所示:
public Form1()
{
}
public class Foo
{
// no constructor
}
public class Foo
{
public Foo() { }
}
但是,一旦您添加了一个构造函数(您这样做了),那么编译器将不再为您创建默认构造函数(显然它没有这样做)。希望解释有帮助。即使@CodingYoshi给了你答案,你也应该公布错误发生的地方。否则,我们怎么可能知道需要修复的地方?即使@CodingYoshi给了你答案,你也应该公布错误发生的地方。否则,我们怎么可能知道需要修复的地方?