将textbox.text分割为其他文本框
我现在正在寻找的结果是将textBox1.Text分割成尽可能多的文本框,只要分割符号存在('+'或'#'例如)将textbox.text分割为其他文本框
因此,每个新的文本框应该只有两个标志之间的字 例如:
textBox1.text = “一个+二+三”;那么textBox2.text =“one”; textBox3.text =“two”; textBox3.text =“three”;
下面的两个例子达到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);
您需要拆分结果(就像你已经做过的那样),然后为每个结果动态创建一个文本框并设置其文本。您的代码应如下所示:
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用于确保每个文本框出现在不同的位置,而不是彼此之上。
那是我真正想要的,非常感谢,但我可以走得更远吗? 我想知道如何使用拆分文本框中的文本值作为新的搜索词。因此,“负担+的证据”应该被分成3个搜索词,而不是一个。 我正在使用SQL服务器CE和C#WinForms ..感谢您的时间 有关更多解释,请检查我的其他未答复的问题:https://*.com/questions/29409857/c-sharp-sql-server-ce -treat字-之后定义的符号或 - 作为一种sepera – 2015-04-04 19:57:33
像这样的事情
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);
}
感谢您的时间,但我无法让您的代码工作,原谅我,但我完全是一个新手。它也有一些类似于(textBox1。** T ** ext)和(Leng ** th **)的拼写错误。 – 2015-04-04 20:14:59
以及我并不是说它是确切的代码。只是试图推动你的答案。但我想你是从另一个答案中得到的。 – btevfik 2015-04-04 22:31:52
这是一个Windows应用程序(WPF或WinForms)或一个Web应用程序(MVC或WebForms)? – epotter 2015-04-04 01:42:04
@epotter它的Windows应用程序(WinForms) – 2015-04-04 10:00:01