ich nutze in meinem Projekt einen BackgroundWorker und würde gerne im ReportProgress neben dem Progress in % auch noch einen String und eine boolsche Variable im Userstate mitgeben. Dazu habe ich mir folgende Klasse angelegt:
namespace XYZProjekt
{
class UserStateObject
{
public string message;
public bool success;
}
}
im ProgressChanged Eventhandler des Backgroundworkers mache ich dann prinzipiell folgendes:
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
this.progressBar1.Value = e.ProgressPercentage;
UserStateObject uso = (UserStateObject)e.UserState;
this.textBox1.Text = uso.message;
this.checkBox1.Checked = uso.success;
}
jetzt muss ich aber immer bei jedem GUI Zugriff des Backgroundworkers(und das sind sehr viele) eine Instanz von der Klasse UserStateObject erzeugen und diese dann füllen und übergeben.
Geht das nicht irgendwie einfacher? Also ohne jedesmal eine neue Instanz von UserStateObject zu erzeugen?
Viele Grüße