gpt4 book ai didi

C# “does not contain a constructor that takes ' 1' arguments”

转载 作者:太空狗 更新时间:2023-10-30 00:19:30 26 4
gpt4 key购买 nike

我已经通读了本网站上与此错误相关的一些帖子,但我仍然不知道该怎么做——我对 C# 还很陌生。

我正在尝试将多个文本框数据(只有 2 个开始)从 Form1 传递到 Form3(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();
}

在 Form3 上我有:

    public partial class Form3 : Form
{
public Form3(string a, string b)
{
InitializeComponent();
firstNameLbl.Text = a;
lastNameLbl.Text = b;
}
}

现在,如果我取出字符串 b,它工作正常,请问我做错了什么?

最佳答案

这里

Form3 a = new Form3(firstNameTxtBox.Text);

您正在使用一个参数调用 Form3 构造函数。

如错误所述,Form3 不包含采用单个参数的构造函数。这就是当您从构造函数中删除第二个参数时错误消失的原因。

你有两个选择:

1) 删除第二个构造函数参数。

public Form3(string a)
{
InitializeComponent();
firstNameLbl.Text = a;
}

2) 将第二个参数添加到所有调用 Form3 构造函数的地方。

如果您需要第二个构造函数参数,我建议使用选项 2。

例如:

Form3 a = new Form3(firstNameTxtBox.Text, lastNametextBox.Text);

您最终的 Form1 代码类似于:

public Form1()
{
InitializeComponent();
}

private void nextBtn_Click(object sender, EventArgs e)
{
Form3 a = new Form3(firstNameTxtBox.Text, lastNametextBox.Text);
a.Show();

this.Hide();
}

关于C# “does not contain a constructor that takes ' 1' arguments”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19620852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com