PDA

View Full Version : سوال: انتظار برای اتفاق افتادن یک رویداد



water_lily_2012
پنج شنبه 14 شهریور 1392, 00:07 صبح
سلام

یک حلقه در فرمم دارم که داخل حلقه قرار هست کاری انجام شود ولی قبل از انجام آن کار برنامه باید منتظر کلیک کاربر روی یکی از چند تا PictureBox باشد و تا زمانیکه کاربر کلیک نکرده نباید سطر بدی در این حلقه اجرا شود.
برای انجام این کار باید چه کار کنم؟

تشکر

مهرداد صفا
پنج شنبه 14 شهریور 1392, 00:20 صبح
با سلام.
در صورت امکان بفرمایید هدفتون از این کار چیه؟ شاید راههای بهتری هم برای انجام داشته باشید.
می توانید یک متغیر سراسری تعریف کنید که با کلیک روی کنترل مورد نظر مقدار آن true می شود، در حلقه هم چک کنید تا زمانی که متغیر مقدار false دارد، حلقه منتظر بماند و در آخر حلقه هم مقدار متغیر را به false تغییر دهید:

...
bool clicked=false;

void main()
{
for(int i=0;i<n;i++)
{
while(!clicked)
{
Application.DoEvents();
}
//do your task
//...
clicked=false;
}//end for
}//end main

void Control_click(....)
{
...
clicked=true;
}