Как я могу вложить этот streamwriter в цикл while, желая, чтобы кнопка могла писать бесконечно

#c# #arrays

#c# #массивы

Вопрос:

 private void addTimeButton_Click(object sender, EventArgs e) { using (StreamWriter sw = new StreamWriter(@"W:out.txt")) { string[] denter code hereata = new string[4]; data[0] = fNameBox.Text; data[1] = sNameBox.Text; data[2] = genderCheck.Text; data[3] = timeBox.Text; string myStringOutput = String.Join(",", data.Select(p =gt; p.ToString()).ToArray()); sw.Write(myStringOutput   "n"); myStringOutput  = Environment.NewLine; sw.Close(); } using (StreamReader sr = new StreamReader(@"W:out.txt")) { while (!sr.EndOfStream) { readTimeButton.AppendText(sr.ReadLine()); } } } 

Я хочу вложить запись потока в цикл while, аналогично тому, как работает читатель, по какой-то причине использование того же метода не работает. Я в основном хочу, чтобы кнопку можно было нажимать бесконечно, пока пользователь не решит, что хочет закрыть программу.

Комментарии:

1. кнопка, на которую можно нажимать бесконечно — что это значит? Что такое пресса , по-вашему?

Ответ №1:

Во-первых, вам не нужно добавлять «sw.Close();» внутри потока использования, потому что «использование» закроет поток. Почему бы вам не включить свой потоковый писатель в цикл while, подобный этому?

 private void addTimeButton_Click(object sender, EventArgs e) { while(true) { using (StreamWriter sw = new StreamWriter(@"W:out.txt")) { string[] denter code hereata = new string[4]; data[0] = fNameBox.Text; data[1] = sNameBox.Text; data[2] = genderCheck.Text; data[3] = timeBox.Text; string myStringOutput = String.Join(",", data.Select(p =gt; p.ToString()).ToArray()); sw.Write(myStringOutput   "n"); myStringOutput  = Environment.NewLine; // sw.Close(); // not necessary whithin a using } using (StreamReader sr = new StreamReader(@"W:out.txt")) { while (!sr.EndOfStream) { readTimeButton.AppendText(sr.ReadLine()); Application.DoEvents(); // to see your text increasing } } } } 

Метод AppendText не принадлежит элементу управления button.

Можете ли вы объяснить, что вы пытаетесь сделать?