C#如何将多个值发送到其他形式?

时间:2019-01-02 16:18:40

标签: c#

我正尝试将多个值发送到第二种形式,并在文本框中显示文本,而又不丢失旧值(新行中的每个值),但我不知道如何...如果有人可以,我会很高兴帮帮我:)

我到处搜索以找到解决方案,但找不到任何东西。

Code from data.cs
private static string Acc;
    public static string GetAcc()
    {
        return Acc;
    }
    public static void SetAcc(string value)
    {
        Acc = value;
    }

Code from Form 1
private void bunifuThinButton21_Click(object sender, EventArgs e)
    {
        Data.SetAcc(textBox1.Text);
    }

Code from Form 2
public Generated()
    {
        InitializeComponent();
        textBox1.Text = Data.GetAcc();
    }

现在,如果我发送第二个值,则该值应显示在下一行的文本框中,而第一个值应显示在第一行。

1 个答案:

答案 0 :(得分:2)

嗯,一般的方法是在第二种形式上使用属性,并在调用形式中设置它们。

您似乎正在使用某种数据保存器,以保留用户输入的所有数据。这也是一种有效的方法,但是 实施它不符合您的描述。

如果要保留多个值,则需要使用多个属性或(在您的情况下)条目列表。也许这对您来说是更好的方法:

data.cs中的代码

private static List<string> Acc = new List<string>();

public static string[] GetAccounts()
{
    return Acc.ToArray();
}

public static void AddAccount(string value)
{
    Acc.Add(value)
}

表格1中的代码

private void bunifuThinButton21_Click(object sender, EventArgs e)
{
    Data.AddAccount(textBox1.Text);
}

表格2中的代码

public Generated()
{
    InitializeComponent();
    textBox1.Text = String.Join(Environment.NewLine, Data.GetAccounts());
}