my C# main form has many backgroundworker functions and the majority of the backgroundworkers are in the same form class.
I have one backgroundworker calling child class which is pass the backgroundworker object. for the most part it will successfully update the backgroundworker.progresschanged which one step is to update a datagridview (
case 0:
msg = (string[])e.UserState;
//tbStatus.Text = msg[0] + " = " + msg[1] + " > " + msg[2];
dataGridView1.Rows.Add(msg[0], msg[1], msg[2], msg[3]);
break;
).
as I stated it work for the most part. if loop through three iteration of this backgroundworker thread all but the last iteration will update the datagridview. according to the step through I have done I see the last iteration step through the backgroundworker.progresschange mention above. but it will not display in the datagrid on the form.
private void backgroundWorker6_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
string[] msg = new string[4];
switch (e.ProgressPercentage)
{
case 0:
msg = (string[])e.UserState;
//tbStatus.Text = msg[0] + " = " + msg[1] + " > " + msg[2];
dataGridView1.Rows.Add(msg[0], msg[1], msg[2], msg[3]);
break;
case 1:
tbStatus.Text = (string)e.UserState;
break;
case 2:
tBResult.Text = (string)e.UserState;
break;
case 3:
string msg1 = "Processing file " + (string)e.UserState + " of " + tBN_Files.Text;
label7.Text = msg1;
break;
}
}//private void backgroundWorker6_ProgressChanged(object sender, ProgressChangedEventArgs e)