如何将字符串数组传递给另一个表单

时间:2014-02-13 16:06:21

标签: c# arrays

我在这个网站上看过几篇文章。对于如何做到这一点,我仍然很困惑。

我有一个包含10个字符串的String数组。我想做两件事之一:

  1. 将字符串传递给结构或类,然后在下一个表单中检索它们。

  2. 我需要将字符串数组直接传递给下一个表单。

  3. 我不断收到错误 - 对于如何传递字符串数组非常困惑。伙计们,我已经尝试过各种我能想到的方式。 请帮忙。

1 个答案:

答案 0 :(得分:0)

让我们调用第一个表单Form1和第二个表单Form2来保持简单。接下来,让我们假设这些表单的构造函数(在代码隐藏中)当前看起来像

public Form1() { ... }

public Form2() { ... }

现在,在Form1实例中运行时,您需要启动Form2并将该数组转换为第二种形式。我们假设该数组在_vals类中名为private并且为field Form1,因此您可以使用它。

好吧,我们快到了。但首先我们需要在Form2上构建一个新的构造函数,以接收这个string[]

public Form2(string[] vals) { ... }

接下来,在我们完成之前,我们需要在Form2某处放置该参数:

private string[] _vals;

然后最后,在构造函数中,我们需要设置field;所以回到我们刚刚构建的新构造函数

public Form2(string[] vals)
{
    _vals = vals;
}

好吧,我们就在那里,再迈出一步。当我们启动Form2时,我们需要使用新构造函数:

var f2 = new Form2(_vals);
f2.Show();

你有它!现在,您可以通过string[]上构建的新构造函数Form1上存在的本地Form2传递给Form2