С# Как читать и писать из многострочного текстового поля по строкам?
У меня есть простая программа, у которой есть функция для чтения строки из многострочного текстового поля, когда я нажимаю кнопку
что я сделал для этого, это код:
TextReader read = new System.IO.StringReader(textBox1.Text);
int rows = 100;
string[] text1 = new string[rows];
for (int r = 1; r < rows; r++)
{
text1[r] = read.ReadLine();
}
поэтому при нажатии кнопки1 он будет выглядеть следующим образом:
textBox2=text1[1];
[1] означает первую строку. Как я могу сделать это автоматически одним щелчком мыши? или одним щелчком мыши по первой строке в textBox2
второй для textBox3..... ect..
plz Мне нужен код и где я должен его поставить ^ _ ^
или если есть другой способ сделать это
Ответы
Ответ 1
Свойство Lines доступно для вас
if(textBox1.Lines.Length > 0)
textBox2.Text=textBox1.Lines[0];
или, поместите ваши текстовые поля, упорядоченные во временном массиве, и зацикливайтесь на них (конечно, проверяет количество строк, присутствующих в textBox1)
TextBox[] text = new TextBox[] {textBox2, textBox3, textBox4};
if(textBox.Lines.Length >= 3)
{
for(int x = 0; x < 3; x++)
text[x] = textBox1.Lines[x];
}
Ответ 2
Простое программирование, чтение и запись одной за другой строки из многострочного текстового поля в С#
Напишите строку по очереди:
textbox1.AppendText("11111111+");
textbox1.AppendText("\r\n222222222");
textbox1.AppendText("\r\n333333333");
textbox1.AppendText("\r\n444444444");
textbox1.AppendText("\r\n555555555");
Читайте строку по очереди:
for (int i = 0; i < textbox1.Lines.Length; i++)
{
textbox2.Text += textbox1.Lines[i] + "\r\n";
}
Ответ 3
Вы можете использовать следующий фрагмент для чтения разделенных запятыми и разделенных новой строки значений из многострочного текстового поля -
if (!string.IsNullOrEmpty(Convert.ToString(txtBoxId.Text)))
{
string IdOrder = Convert.ToString(txtBoxId.Text.Trim());
//replacing "enter" i.e. "\n" by ","
string temp = IdOrder.Replace("\r\n", ",");
string[] ArrIdOrders = Regex.Split(temp, ",");
for (int i = 0; i < ArrIdOrders.Length; i++)
{
//your code
}
}
Надеюсь, это поможет вам.
Ответ 4
Вы также можете попробовать этот трюк
foreach (string line in TextBox.Split('\n'))
{
}