Wie schon erwähnt, das Ergebnis ist ein Array.
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection.find%28v=vs.110%29.aspx
WriteLine und +Environment.NewLine ist doppelt gemoppelt.
1 | var lines = Enumerable.Range(1, 6).Select(i => Controls.Find("textbox" + i, true)[0].Text);
|
Oder etwas sicherer:
1 | var lines = Enumerable.Range(1, 6).Select(i => Controls.Find("textbox" + i, true))
|
2 | .Where(c => c.Length > 0).Select(c => c[0].Text).ToList();
|
3 |
|
4 | Debug.Assert(lines.Count == 6, "Invalid number of TextBox controls.");
|
5 |
|
6 | using (StreamWriter file = new StreamWriter(@"C:\Users\dani\Desktop\test\test.txt", true))
|
7 | {
|
8 | lines.ForEach(file.WriteLine);
|
9 | }
|
Natürlich Variablen/Konstanten einsetzen, nicht 1, 6, "textbox" und
@"C:\...".
Ich würde auch als 2. Parameter false übergeben und nur im unmittelbaren
Parent-Control suchen, falls möglich.