PDA

View Full Version : ایجاد یک حلقه برای ایجاد تاخیر با زمان معین



kolibri
سه شنبه 10 مهر 1397, 12:45 عصر
سلام
می خوام در تابع به وسیله یک حلقه تاخیر ایجاد کنم که UI هم فریز نشه.
برای این می خوام از حلقه استفاده کنم که مجبورم به صورت مداوم یک مقدار bool رو چک کنم. که اگر برابر true شد، کار خاصی در همین حلقه صورت بگیره.
الان از کد زیر استفاده می کنم:
await Task.Delay(delay);

اما در هین این تاخیر، دیگه کنترلی بر روی متدم ندارم.
ممنون میشم راهنمایی بفرمایید.

danialafshari
سه شنبه 10 مهر 1397, 17:28 عصر
با سلام
مثلاً چه کنترلی؟
BackgroundWorker هم تست کنید
مثال:

BackgroundWorker bg = new BackgroundWorker();
int Counter = 0;
public Form1()
{
InitializeComponent();


bg.DoWork += Bg_DoWork;
bg.RunWorkerAsync();
}


private void Bg_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
if (Counter==3)
MessageBox.Show("Test 1");
System.Threading.Thread.Sleep(1000);
Counter++;
}
}

موفق باشید