PDA

View Full Version : سوال: مشکل thread



Hamishebahar
جمعه 16 مهر 1389, 21:25 عصر
سلام خسته نباشید. میخوام یه حلقه while توی یک ترد بذارم و هنگ نکنه و توی همون ترد متن فرم رو تغییر بدم که با خطای cross مواجه نشم. ممنون.خیلی عجله دارم

mahdi7s
جمعه 16 مهر 1389, 23:26 عصر
اگر تغییراتی می خواهید در حلقه تکرار انجام دهید فقط مربوط به ظاهر برنامه است می توانید با استفاده از یک storyboard (همون انیمیشن) و binding مناسب کارتان را انجام دهید

در غیر اینصورت ساده ترین راه استفاده از کامپوننت BackgroundWorker هست
برای مثال:

private BackgroundWorker worker = new BackgroundWorker();
public MainPage()
{
InitializeComponent();

worker.DoWork += (s, e) =>
{
//your async code
//e.Result = ...
};

worker.RunWorkerCompleted += (s, e) =>
{
//var ret = e.Result
};
}

private void Button_Click(object sender, RoutedEventArgs e)
{
worker.RunWorkerAsync();
}

موفق باشید