PDA

View Full Version : سوال: خطا در اجرای این کد



water_lily_2012
سه شنبه 18 بهمن 1390, 11:31 صبح
سلام
چند خط زیر را وقتی در timer استفاده می کنم خطا ایجاد میشه. تابع اول اجرا میشود و تابع دوم که بعد از 4 ثانیه اجرا میشود خطا دارد.
این کد:


private void _1111_Click(object sender, RoutedEventArgs e)
{
Storyboard OpenMessage = FindResource("OpenMessage") as Storyboard;
OpenMessage.Begin();
this.OpenMessage = true;

System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(CloseMessage);
myTimer.Interval = 4000;
myTimer.Start();
}

public void CloseMessage(object source, System.Timers.ElapsedEventArgs e)
{
Storyboard CloseMessage = FindResource("CloseMessage") as Storyboard;
CloseMessage.Begin();
this.OpenMessage = false;
}

این هم خطا:
The calling thread cannot access this object because a different thread owns it.

in_chand_nafar
سه شنبه 18 بهمن 1390, 12:07 عصر
این قضیعه طبیعی است جهت متوجه شدن این موضوع به این مقاله مراجعه کنید
http://www.switchonthecode.com/tutorials/working-with-the-wpf-dispatcher

water_lily_2012
سه شنبه 18 بهمن 1390, 17:36 عصر
اگر لطف کنید یک توضیح بدهید من متوجه این لینک نشدم.

water_lily_2012
سه شنبه 18 بهمن 1390, 18:48 عصر
مشکل حل شد یک برنامه نویس این قسمت را برام نوشت.