2012-10-18 10 views
12

Mam prosty program posiada funkcję odczytywania linii od wielowierszowego pola tekstowego po naciśnięciu przycisku co ja wykonaną na to jest ten kod:C# Jak czytać i pisać z wieloliniowej linii tekstu po linii?

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

więc gdy kliknięcie button1 nim kod będzie tak:

textBox2=text1[1]; 

[1] oznacza pierwszą linię Jak mogę to zrobić automatycznie za pomocą jednego kliknięcia? lub za pomocą jednego kliknięcia pierwszą linię do TextBox2 drugi do textBox3 ..... ect ..

plz chcę kod i gdzie należy umieścić go^_^

lub jeśli nie ma innego sposobem na to

Odpowiedz

18

Obiekt Lines jest tam dla ciebie

if(textBox1.Lines.Length > 0) 
    textBox2.Text=textBox1.Lines[0]; 

lub umieścić swoje otaczaniem zamówione w tablicy tymczasowej pętli i na nich (oczywiście sprawdza liczbę wierszy znajdujących się w polu tekstowym 1)

TextBox[] text = new TextBox[] {textBox2, textBox3, textBox4}; 
if(textBox.Lines.Length >= 3) 
{ 
    for(int x = 0; x < 3; x++) 
     text[x] = textBox1.Lines[x]; 
} 
+0

... i TextBox.Lines jest string [], więc jest to dokładny zamiennik zmiennej text1 w Oryginalny post. – Polyfun

+0

dziękuję, nie mogę głosować na ciebie, wiesz, role –

+0

chce zrobić pętlę dla [1] [2] [3] ciąg, jak mogę to zrobić –

1

Można użyć poniższy fragment do czytania oddzielone przecinkami i nowej linii oddzielone od wartości wielowierszowego pola tekstowego -

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

Mam nadzieję, że to pomoże.

6

proste programowanie czytać i pisać, jeden po jednej linii z wielowierszowego pola tekstowego w C#

write line one by one: 

     textbox1.AppendText("11111111+"); 
     textbox1.AppendText("\r\n222222222"); 
     textbox1.AppendText("\r\n333333333"); 
     textbox1.AppendText("\r\n444444444"); 
     textbox1.AppendText("\r\n555555555"); 

    read line one by one: 

     for (int i = 0; i < textbox1.Lines.Length; i++) 
     { 
      textbox2.Text += textbox1.Lines[i] + "\r\n"; 
     } 

     Enjoy friend 
Powiązane problemy