Hallo Leute, folgender Code müsste laut Debugger eigentlich einen sehr langen Uploadstring in eine Textbox verfrachten. De facto bleibt die Textbox jedoch leer, obgleich laut Debugger der Texteigenschaft den entsprechenden (String-)Wert zugewiesen wurde. Was ist da los?
.
.
backgroundWorker2.RunWorkerAsync();
backgroundWorker2.DoWork += new DoWorkEventHandler(backgroundWorker2_DoWork);
private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e) {
textBox2.Invoke(new Action(() => {
textBox2.Visible = true;
textBox2.Text = fileContent;
//sowohl fileContent als auch die property Text wurde mit Werten gefüllt. Die Textbox bleibt trotzdem leer
}));
backgroundWorker2.ReportProgress(2);
}
private void backgroundWorker2_ProgressChanged(object sender, ProgressChangedEventArgs e) {
try {
progressBar1.Value = e.ProgressPercentage * 10;
ProgressBar to the BackgroundWorker progress.
this.Text = e.ProgressPercentage.ToString();
} catch(Exception error) {
_logger.Error("unknown error in backgroundWorker1_ProgressChanged_1() detected{0}{1}", Environment.NewLine, error.ToString());
string ausgabe = "error in backgroundWorker1_ProgressChanged_1() detected, which has been protocollated in log";
this.Message(ausgabe, "Error", MessageBoxIcon.Error);
}
}
TKipp
Das Event muss natürlich vor dem Run gesetzt werden; macht sonst kein Sinn.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
backgroundWorker2.RunWorkerAsync(); backgroundWorker2.DoWork += new DoWorkEventHandler(backgroundWorker2_DoWork);
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Steht doch genau so in meinem Code. Ganz oben, nach den zwei Folgepunkten(.. vertikal)
TKipp
Steht doch genau so in meinem Code. Ganz oben, nach den zwei Folgepunkten(.. vertikal)
Eben ... und das ist verkehrt herum 😃
**:::
Ach sooo, du meinst also so:
erst das Event:
backgroundWorker2.DoWork += new DoWorkEventHandler(backgroundWorker2_DoWork);
dann der Run:
backgroundWorker2.RunWorkerAsync();
vielen Dank dafür. bin noch ein Newbie(). wie kann man in diesem Forum
(1) Reputationspunkte für den Helfenden vergeben
(2) Den Thread als erfolgreich gelöst beenden?
TKipp
1.Gar nicht, da das Forum solch ein System nicht besitzt.
2.Kannst du notfalls den Titel anpassen, ist aber nicht wirklich sinnvoll m.M. nach.
Sonst würden wir hier in jedem Thread Titel immer Erledigt stehen haben.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Punkte gibts hier bewusst nicht.
Und lösen einfach Titel editieren und [gelöst] vorweg schreiben.
@T-Virus: doch, die Forensoftware kann das, ist aber deaktiviert.
Und das mit dem Titel ist Deine Meinung - aber in [Hinweis] Wie poste ich richtig? so beschrieben 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
@Abt
Mag zwar sein aber Konsequent wird es nicht angewendet.
Das die Software das kann ist natürlich interessant sehe aber auch keinen nutzen daraus bzw. schafft es auch falsche Anreize wie z.B. Stackoverflow.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.