Autor Beitrag
Trautmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Sa 28.03.09 10:27 
Hallo,

ich schreib grad an meinem ersten C#-Projekt und hab ein kleines Problem:
Mein Programm besteht aus einem form mit einer Textbox und einem Button.
Der User soll einen Wert in die Textbox eingeben und dann auf den Button klicken. Dadurch wird dann ein backgroundworker gestartet der eine Berechnung ausführt. Wenn ich jetzt aber das Ergebnis wieder in der Textbox ausgeben will bekomme ich folgende Fehlermeldung:
Zitat:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement textBox1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

Ich hab probiert ein Event zu schreiben, welches dann die Textbox anspricht aber ich bekommen den selber Error.
Wie kann ich die Textbox im anderem Thread aus dem backroundworker heraus ansprechen?
Benutze 3.5er Framework.

danke schon jetzt

mfg

Trautmann
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 28.03.09 11:05 
Raten, raten, raten. Wo ist bloß meine Glaskugel geblieben, die mir deinen Code erklären kann?

In der SDK-Doku/MSDN gibt es bei BackgroundWorker ein Beispiel, das auch zeigt, wie Werte im RunWorkerCompleted-Ereignis in ein GUI-Element eingetragen werden.

Jürgen
Trautmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Sa 28.03.09 11:50 
Hi,

danke für deine Antwort.
Das RunWorkerCompleted ist ja nur für das Ende des Backgroundworkers gedacht.(oder kann man das öfter aufrufen?) Ich will aber, das mein Backgroundworker während dem Rechnen schon Ergebnisse in die Textbox schreibt. Aber halt keinen ReportProgress sondern einen String.
Trautmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Sa 28.03.09 12:06 
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 28.03.09 12:22 
ReportProgress besitzt auch eine Überladung, der du ein beliebiges object mitgeben kannst.

_________________
>λ=