use*_*526 4 c# visual-studio-2010
我已经阅读了本网站上有关此错误的一些帖子,但我仍然无法弄清楚如何做到这一点 - 我对C#很新.
我试图从Form1到Form3传递多个文本框数据(只有2个开头)(Form2将是我工作后添加的中介)这个想法是创建几个表单,将数据传递到最后一个表单并使用标签,此刻Form3,然后Form3将一切保存到文件或数据库.希望有道理.
所以,我的代码中有几个代码段:
在Form1上我有:
public Form1()
{
InitializeComponent();
}
private void nextBtn_Click(object sender, EventArgs e)
{
Form3 a = new Form3(firstNameTxtBox.Text);
a.Show();
Form3 b = new Form3(lastNametextBox.Text);
b.Show();
this.Hide();
}
Run Code Online (Sandbox Code Playgroud)
在Form3上我有:
public partial class Form3 : Form
{
public Form3(string a, string b)
{
InitializeComponent();
firstNameLbl.Text = a;
lastNameLbl.Text = b;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我拿出字符串b,它工作正常,那么我做错了什么呢?
这里
Form3 a = new Form3(firstNameTxtBox.Text);
Run Code Online (Sandbox Code Playgroud)
你Form3用一个参数调用构造函数.
正如错误所解释的那样,Form3不包含采用单个参数的构造函数.这就是为什么当你从构造函数中删除第二个参数时,错误消失了.
您有两种选择:
1)删除第二个构造函数参数.
public Form3(string a)
{
InitializeComponent();
firstNameLbl.Text = a;
}
Run Code Online (Sandbox Code Playgroud)
2)将第二个参数添加到调用Form3构造函数的所有位置.
如果你需要第二个构造函数参数,我建议选项2.
例如:
Form3 a = new Form3(firstNameTxtBox.Text, lastNametextBox.Text);
Run Code Online (Sandbox Code Playgroud)
您的最终Form1代码如下所示:
public Form1()
{
InitializeComponent();
}
private void nextBtn_Click(object sender, EventArgs e)
{
Form3 a = new Form3(firstNameTxtBox.Text, lastNametextBox.Text);
a.Show();
this.Hide();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21978 次 |
| 最近记录: |