我目前正在寻找的结果是将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);
答案 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用于确保每个文本框出现在不同的位置而不是彼此重叠。