delegate void DWriteToLog(string message);
static object locker = new object();
private void bGo_Click(object sender, EventArgs e)
{
... //работа с формой
Log.Items.Add("Загрузка id");
Thread t = new Thread(Download);
t.Start();
t.Join();
... //работа с формой
}
void Download()
{
for (int i = 0; i <= 2; i++)
{
for (int j = 0; j <= 1000; j += 100)
{
... //запрос в сеть
WriteToLog("test");
}
}
}
void WriteToLog(string message)
{
this.Invoke(new DWriteToLog(UpLB), new object[] { message });
}
void UpLB(string message)
{
lock (locker)
{
Log.Items.Add(message);
}
}
, всё абсолютно так же (фриз).