private void Generator_ProgressChanged(object sender, Generator.ProgressChangedEventArgs e)
{
if (e.ChangeType == ProgressChangeType.Details)
{
//details will be updated periodically so we need to save them
//if we were to update them here and now, we could freeze the UI if they are generated to quickly
_lastDetailsArgs = e;
}
else
{
this.Invoke(new MethodInvoker(() =>
{
if (e.ChangeType == ProgressChangeType.Overall)
{
lblOverview.Text = e.Message;
lblDetails.Text = "";
progressDetails.Value = 0;
progressOverall.Value = e.ProgressPctValue;
_lastDetailsArgs = null;
}
}));
}
}