Problem beim Einlesen von Textboxen

OP #4041507
Lesenswert?

Seas,

versuch gerade in C# mehrere Textboxen mit nicht all zu viel Code 
einzulese.

Aus irgend einem Grund schreibt er mir vor den Text der Textbox 
"System.Windows.Forms.TextBox, Text:"

Wie bekomme ich das weg?

Code hab ich angehängt.

Danke im Voraus!

Gruss

Daniel
Angehängte Dateien:
Gast #4041643
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren