Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] C# Invoke(), работает не как надо, почему? (http://forum.oszone.net/showthread.php?t=233225)

Barit 20-04-2012 16:09 1903246

C# Invoke(), работает не как надо, почему?
 
надо обновлять контролы другого потока, код:

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 1903695

Эх не нашел кнопочку "удалить" рабочий кусок кода:

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;
}

"решено"


Время: 00:59.

Время: 00:59.
© OSzone.net 2001-