PDA

Показать полную графическую версию : [решено] C# Invoke(), работает не как надо, почему?


Barit
20-04-2012, 16:09
надо обновлять контролы другого потока, код:

delegate void SetImageCallback(Control label, System.Drawing.Bitmap actImage);

this.SetImg(s1, global::myPr.Properties.Resources.s1_green);

private void SetImg(Control label, System.Drawing.Bitmap actImage)
{
if (label.InvokeRequired)
{
SetImageCallback I = new SetImageCallback(SetImg);
label.Invoke(I, new object[] { label, actImage });
}
else label.BackgroundImage = actImage;
}

почему не обновляет, где нахомутал?

Barit
21-04-2012, 15:02
Эх не нашел кнопочку "удалить" рабочий кусок кода:

private void SetImg(PictureBox label, System.Drawing.Bitmap actImage)
{
if (label.InvokeRequired)
{
SetImageCallback I = new SetImageCallback(SetImg);
label.Invoke(I, new object[] { label, actImage });
}
else label.Image = actImage;
}

"решено"




© OSzone.net 2001-2012