hallo!
Ich mach grad ein Programm in C#. Es ließt die erste zeile eines textdokumentes aus und hängt da einen text dran und das gleiche mit der zweiten.
Das klappt auch super, bloß braucht es etwas länger, wenn die textdatei größer ist. Es wird zwar gemacht, aber Windoof zeigt an, dass das Programm sich aufgehängt hat.
Ich hab mal nen bisschen gegoogelt und den backgroundworker gefunden. Dabei wird ein zweiter Thread erstellt, der die Aufgabe dann ausführt ohne dass sich irgendetwas aufhängt.
So, jetzt zu meinem Problem:
Am Ende soll der generierte string in eine richTextBox gegeben werden. Es HAT funktioniert, doch beim Backgroundworker sagt er mir:
„Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement richTextBox1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.“
Ich hab mal in der hilfe geguckt auch was gefunden, es aber nicht verstanden . Ich hoffe ihr könnt mir helfen das Problem zu lösen.
Hier nochmal der gesamte Code:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
StreamReader datei_in = new StreamReader(textBox1.Text, System.Text.Encoding.GetEncoding(1252));
string text_new = „“;
string zeile;
while (datei_in.Peek() != -1)
{
// Zwielenweise lesen
zeile = datei_in.ReadLine();
text_new = text_new + richTextBox1.Text + zeile + „\n“;
}
datei_in.Close();
}
Das Problem ist da, wo der string text_new generiert wird. Bei
text_new = text_new + richTextBox1.Text + zeile + „\n“;
und da bei richTextBox1.Text.
ICh hoffe ihr könnt helfen
Vielen dank und viele grüße,
Flo