C#从文本框中多次接受一个值

时间:2016-11-06 22:47:36

标签: c#

我需要从同一个文本框接受多个值并将其存储到arrya中。我需要一些接近以下代码的东西:

    string[] countries = new string[3];
    private void accept_Click(object sender, EventArgs e)
    {



        countries[0] = textBox1.Text+"  1 ";


        countries[1] = textBox1.Text + "  2 ";

        countries[2] = textBox1.Text + "  3 ";
    }
    private void finish_Click(object sender, EventArgs e)
    {
        foreach (string coun in countries)
            MessageBox.Show("You have entered " + coun);}


    }
}

3 个答案:

答案 0 :(得分:1)

你如何分割不同的国家?

如果你在每个空间拆分它,你可以这样做:

string[] countries = textBox1.Text.Split(null);

如果这不是一个好的解决方案,可以尝试解释预期的输出。

答案 1 :(得分:0)

您只需使用multiline textbox并在新行上拆分输入:

var countries = countriesTextBox.Text.Split(Environment.NewLine);

答案 2 :(得分:0)

为什么不使用列表?每次单击“接受”按钮时,以下代码都会将文本框中输入的国家/地区名称添加到List<string>

var countries = new List<string>();

private void accept_Click(object sender, EventArgs e)
{
    countries.Add(textBox1.Text);
}

private void finish_Click(object sender, EventArgs e)
{
    foreach (string coun in countries)
        MessageBox.Show("You have entered " + coun);
}

如果您希望允许用户一次进入多个国家/地区,则在将每个国家/地区名称输入文本框时,如果您在每个国家/地区名称之间插入逗号,则以下内容将起作用:

var countries = new List<string>();

private void accept_Click(object sender, EventArgs e)
{
    var input = textBox1.Text.Split(',');
    countries.AddRange(input);
}

private void finish_Click(object sender, EventArgs e)
{
    foreach (string coun in countries)
        MessageBox.Show("You have entered " + coun);
}