Laden...

Backgroundworker ProgressChanged Stream ausgeben lassen

Erstellt von ado683 vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.161 Views
A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren
Backgroundworker ProgressChanged Stream ausgeben lassen

Hallo zusammen,

eine Frage und zwar habe ich nun erfolgreich, nach langem grübeln, es geschafft einen Backgroundworker in meinem Programm zum laufen zu bringen.

In dem Dowork startet bei mir ein TCP Listener und dieser empfängt Daten speichert sie dann in einem String data ab. Läuft auch alles

Nun will ich aber diesen String mir anzeigen lassen. Irgendwie muss ich ja die Progresschanged Methode des Backgroundworkers aufrufen (nachdem die Daten im String sind) dann diese übergeben und die möchte ich mir dann in einer Textbox meines Programms mir anzeigen lassen.

Ich komme nicht weiter, könnt ihr mir dabei helfen bzw. sagen wie das geht?

thx

16.806 Beiträge seit 2008
vor 5 Jahren

Gib den Leuten genug Informationen in einem Thema, dass sie Dir helfen können - ohne all Deine anderen Themen selbst im Forum zu suchen müssen, damit sie überhaupt verstehen, worum es geht.
Und schau auch mal ab und zu in die FAQ 👍

A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren

zu wenig infos?

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

ich verstehe das Problem auch nicht.

Die eigentliche Arbeit des BackgroundWorkers passiert ja ohnehin im DoWork, in welchem ja offensichtlich der String schon vorhanden ist.

Wo ist das Problem diesen String dann entsprechend auszugeben?

Ein Beispiel dazu findest du z.B. unter https://stackoverflow.com/questions/1862590/how-to-update-gui-with-backgroundworker

LG

1.696 Beiträge seit 2006
vor 5 Jahren

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

F
10.010 Beiträge seit 2004
vor 5 Jahren

@vbprogger:
Manchmal ist es besser nichts zu sagen, als etwas komplett falsches.
Der BGW hat dafür extra das ProgressChanged, da muss man nix invoken.

@ado683:
Ganz abgesehen davon das BGW schon seit gefühlten tausend Jahren von async await abgelöst wurde,
jedes tutorial zum bgw beschreibt wie das mit dem Progresschanged geht.
Selbst die Doku von MS beschreibt das.
https://docs.microsoft.com/de-de/dotnet/api/system.componentmodel.backgroundworker.progresschanged?view=netframework-4.7.2
Also bitte tue dir einen gefallen und Lies dir die Doku mal durch.

1.696 Beiträge seit 2006
vor 5 Jahren

@vbprogger:
Manchmal ist es besser nichts zu sagen, als etwas komplett falsches.
Der BGW hat dafür extra das ProgressChanged, da muss man nix invoken.

OK ich sage zukünftig dann nix mehr :p ... In den letzten Jahren habe ich C# sowieso vernachlässigt und schreibe nur noch in PowerShell :p

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren

habe ich schon gefühlte tausend mal (genau die seite) aber da sind mir zu wenig infos drin.
naja egal

16.806 Beiträge seit 2008
vor 5 Jahren

Dann erkläre hier, WAS Du nicht verstehst. Ansonsten kann man Dir nicht helfen.
Die Leute hier sehen Dein Code nicht, wir sehen Dein Problem nicht. Les mal Deine eigenen Beiträge durch und überleg Dir dann, ob jemand dies vor sich verstehen soll, wovon Du redest.

Kein Helfer hier, der seine Freizeit investiert um DIR zu helfen, hat große Lust und Zeit Dir die Informationen aus der Nase zu ziehe oder für Dich Lehrer zu spielen.
Du willst hier doch Hilfe; also mach es den Leuten so einfach wie möglich, dass Dir auch geholfen werden kann.

Siehe auch [Hinweis] Wie poste ich richtig?

F
10.010 Beiträge seit 2004
vor 5 Jahren

Was brauchst du denn noch für angaben.
Da steht das das Event aufgerufen wird von ReportProgress, dann schaut man da nach.

Du musst dringend lernen die Doku zu verstehen.

S
25 Beiträge seit 2014
vor 5 Jahren

hi du hast zum einem das Event ProgressChanged, in diesem wird der Wert der Progressbar erhöht. Damit aber der BGW weiss wann du sich der Progress ändert (Der BGW ist ja nicht allwissend) musst du in dem Code Abschnitt in dem du einne Änderung des Progress hast die Methode des BGWs ReportProgress aufrufen der gibts du als Parameter den Wert mit.

Die Zusammmenfassung im DoWork wird die Methode ProgressReport auf gerufen mit dem Statuswert , was das Event ProgressChanged aufruft. Das Event erhöht dann den Value der Progressbar