private delegate void UpdateUIDelegate(int i, int max, string fo, ulong number);
private void UpdateUI(int i, int max, string fo, ulong number)
{
if (this.list.InvokeRequired)
{
this.list.Invoke(new UpdateUIDelegate(UpdateUI), i, max, fo, number);
}
else
{
// Report the progress; calculating with decimal point
this.progress.Value = (int)((i + 1f) * 100 / max);
if (i == 0) this.list.Items.Clear();
ListViewItem lvi;
lvi = this.list.Items.Add(fo);
lvi.SubItems.Add(number.ToString());
}
}