2015-04-04 4 views
0

В результате я хочу разбить textBox1.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); 
+0

Это приложение Windows (WPF или WinForms) или веб-приложение (MVC или WebForms)? – epotter

+0

@epotter это приложение для Windows (WinForms) –

ответ

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); 
} 

Целое я используется, чтобы убедиться, что каждое текстовое поле появляется в другом месте, а не друг на друга.

+0

Ну, это то, что я действительно ищу, очень ценю, но могу ли я пойти дальше? Я хотел бы знать, как использовать текстовые значения в разделенных текстовых блоках в качестве нового условия поиска. Таким образом, «Бремя + of + proof» следует разделить на 3 поисковых запроса, а не на один. Я использую SQL-сервер CE и C# WinForms .. Спасибо за ваше время Для получения более подробного объяснения, любезно проверьте мой другой вопрос без ответа: https://stackoverflow.com/questions/29409857/c-sharp-sql-server-ce -treat-слова-после-определенных-символов или-а-а-sepera –

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); 
} 
+0

Спасибо за ваше время, но я не мог заставить ваш код работать, простите меня, но я полностью новичок. Также он имеет некоторые опечатки вроде (textBox1. ** T ** ext) и (Leng ** th **). –

+0

ну, я не хотел, чтобы это был точный код. просто попытался подтолкнуть вас к ответу. но я думаю, вы получили это от другого ответа. – btevfik

Смежные вопросы