PDA

View Full Version : قطع انجام یک رویداد درحال اجرا



saeedhushmand
سه شنبه 02 آبان 1391, 14:22 عصر
دوستان من وقتی رویداد یک BUTTON اجرا می کنم یکم طول می کشه توی این زمان می خوام اگر کاربر منصرف شد بر روی همان button کلیک کنه و ادامه رویداد انجام نشه و قطع بشه لطفا راهنمایی فرمایید یک مشکلی که هست هنگام اجرای رویداد button غیرفعال می شه...

morteza271
سه شنبه 02 آبان 1391, 14:26 عصر
از ترد ها استفاده کنید.مشکلتون حل میشه.
یه جستجوی ساده در مورد ترد در همین سایت شما رو به نتیجه خواهد رسوند.

حسین شهریاری
سه شنبه 02 آبان 1391, 14:27 عصر
چیزی که شما میخاین به صورت معمولی نمیشه ولی فکر میکنم با نخ ها بتونی این کارا بکنی.

maythammsp2000
سه شنبه 02 آبان 1391, 16:10 عصر
فك كنم اگه بتوني براش تعريف كني كه وقتي دكمه ESC از كيبورد فشرده شد عمليات رو متوقف كنه به مقصودت برسي.

hakim22
سه شنبه 02 آبان 1391, 19:23 عصر
بهترین راه استفاده از Threading است.
مشکل اینه که وقتی یک پروسه ی سنگین اجرا می کنید اگر در همون thread اصلی باشید ارتباط کاربر با پنجره ها قطع میشه تا پایان پروسه .
یک راه اینه که از Application.DoEvents() استفاده کنید.
برنامه هروقت به این خط برسیه رویدادهای رو یکبار مرور میکنه و به اونها پاسخ میده و بعد ادامه ی حلقه رو اجرا می کنه.
شما میتوانید یک متغیر از نوع Boolean بسازید. و بعد در حلقه شرط کنید اگر مقدار اون متغیر true بود حلقه ادامه پیدا کنه وگرنه Break بشه.
و برای تنظیم مقدار اون متغیر روی False از همون دکمه ی انصراف درون برنامه استفاده کنید.
و یادتون نره قبل از کدی که شرط درست بودن رو چک میکنه کد
Application.DoEvents رو قرار بدید.