将textbox.text拆分为其他文本框

时间:2015-04-04 00:28:31

标签: c#

我目前正在寻找的结果是将textBox1.Text分成尽可能多的文本框,只要分裂符号存在(例如'+'或'#')

因此,每个新文本框应该只有两个符号之间的单词 例如:

  

textBox1.text =“一+二+三”;然后textBox2.text =“one”;   textBox3.text =“two”; textBox3.text =“三”;

以下两个示例实现了我所需要的90%,但我仍然无法弄清楚如何将每个值放在单独的textBox.text中:

string str = "one\n   \ntwo\n   \nthree\n   \n   \nfour";
string[] result = Regex.Split(str, "\n\\s*");
for (int i = 0; i < result.Length; i++)
    MessageBox.Show(result[i]);

string input = "one)(two)(three)(four)(five";
string[] result = input.Split(new string[] { ")(" }, StringSplitOptions.None);
foreach (string s in result)
    MessageBox.Show(s);

2 个答案:

答案 0 :(得分:0)

像这样的东西

string[] result = textBox1.text.Split('+');

foreach (int i=0;i<result.Lenght;i++)
{
TextBox box = new TextBox();
box.Name = "textBox"+i;
box.Text = result[i];
somewhere.Add(box);
}

答案 1 :(得分:0)

您需要拆分结果(如您所做),然后为每个结果动态创建一个文本框并设置其文本。您的代码应如下所示:

int i = 0;
foreach (var item in result)
{
    var textBox = new TextBox();
    textBox.Location = new System.Drawing.Point(0,i++*25);
    textBox.Text = item;
    this.Controls.Add(textBox);
}

整数i用于确保每个文本框出现在不同的位置而不是彼此重叠。