You can, but you must advise your Backgroundworker to report state, and send the input for the box with the current state to that event. In the method for that event, you can access the box and put the new value in.
Otherwise you need to invoke manually.
public Form1()
{
InitializeComponent();
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerAsync();
}
void bw_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 10; i++)
{
((BackgroundWorker)sender).ReportProgress(0, i.ToString());
}
}
void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
listBox1.Items.Add((string)e.UserState);
}