2012-10-18 27 views
12

Tôi có một chương trình đơn giản nó có một chức năng để đọc một dòng từ textbox multiline khi tôi bấm một nút những gì tôi thực hiện để làm điều đó là mã này:C# Làm thế nào để đọc và ghi từ dòng textbox đa dòng theo dòng?

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

nên khi nhấp chuột button1 nó mã sẽ như thế này:

textBox2=text1[1]; 

[1] có nghĩa là dòng đầu tiên Làm thế nào tôi có thể tự động thực hiện bằng một lần nhấp? hoặc với một nhấp vào dòng đầu tiên để TextBox2 thứ hai để textBox3 ..... ect ..

plz tôi muốn mã và nơi tôi nên đặt nó^_^

hoặc nếu có khác cách để làm điều đó

Trả lời

18

thuộc tính Lines là ở đó đợi em

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

hoặc, đặt các hộp thoại của bạn ra lệnh trong một mảng tạm thời và vòng lặp trên chúng (tất nhiên kiểm tra số dòng hiện diện trong textbox 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

... và TextBox.Lines là một string [], vì vậy nó là một sự thay thế chính xác cho các biến text1 trong bài gốc. – Polyfun

+0

Cảm ơn rất nhiều tôi không thể bỏ phiếu cho bạn, bạn biết các vai trò –

+0

muốn làm một vòng lặp cho [1] [2] [3] chuỗi làm thế nào tôi có thể làm điều đó –

1

Bạn có thể sử dụng đoạn mã sau để đọc dấu phẩy tách ra và xuống dòng tách ra giá trị từ textbox multiline -

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

Tôi Hy vọng điều này sẽ giúp bạn.

6

lập trình đơn giản đọc và viết một cái một dòng từ textbox trong 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