public class Form1
{
public delegate void SetStatus (string status);
public event SetStatus SetStatusHandler;
public BackgroundWorker bw = new BackgroundWorker();
public Form1()
{
tbxResult.Text = "Assign text Ok";
SetStatusHandler += delegate(string status)
{
tbxResult.Text = status; // can not assign
};
bw.DoWork += backgroundWorker_DoWork;
bw.RunWorkerAsync();
}
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
var status = "assign some value";
SetStatusHandler(status);
}
}
First, I tried to set value for the textbox tbxResult on main thread inside BackgroundWorker, but it did not work, then I use delegate to assign the textbox value from main thread, but it does not work too...
Please help me... what was wrong?