Большой Воронежский Форум
» Программирование>[C#] - Обращение к контролу из другого потока
Мамед 10:47 16.12.2009
Доброго времени суток. Появилась нужда обратиться к контролу из другого потока, что насколько мне известно делается посредством делегата. Попробовал сделать по примеру в МСДН, сработать сработало, а сам факт обращения из левого потока остался в результате нормального функционирования программы нет. Просьба подсказать верный подход к решению данной проблемы.

Код:
public class DelegateLearnin
	{
		public delegate void del(string txt);
	
		public static void Learnin()
		{
			del a = new del(AddText);
			a("Доброе утречко");
		}
		
		public static void AddText(string txt)
		{
                        AdvancedForm.listBox1.Items.Add(txt);
		}
	}
X0R 06:46 17.12.2009
[PHP]private delegate void SetTextDelegate(string s);

private void SetText(string s)
{
if (button1.InvokeRequired)
{
SetTextDelegate setTextDelegate = new SetTextDelegate(SetText);
this.Invoke(setTextDelegate, new object[] { s });
}
else
button1.Text = s;
}

private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(Renamer);
thread.Start();
}


private void Renamer()
{
SetText("Ахтунг!");
}[/PHP]
Мамед 09:08 17.12.2009
Благодарю!
Вверх