PDA

View Full Version : سوال: توقف برنامه در حال اجرا



elahe1393
سه شنبه 16 دی 1393, 14:52 عصر
سلام
برنامه ای نوشتم که با کلیک بر روی دکمه شروع برروی فرم برنامه یه سری کار انجام می دهد کارهایی که در این بین انجام می شود خواندن از پورت سریال ، رسم نمودار و یه سری تغییرات فرم است می خواهم حین انجام این کارها اگر کاربر بخواهد توقف کند با کلیک برروی دکمه توقف بر روی فرم این کار انجام شود ولی زمان اجرای برنامه با کلیک برروی هر بخشی از فرم هیچ عکس العملی نشان نمی دهد مگر بعد از اجرای کامل کدهای دکمه شروع چگونه باید تعیین کنم که بعد از کلیک برروی دکمه شروع اگر کاربر بر روی دکمه توقف کلیک کرد برنامه متوقف شود؟

SabaSabouhi
سه شنبه 16 دی 1393, 15:06 عصر
سلام
توضیح شما واضح نبود. اما حدس می‌زدم که همه این کارها رو توی Event Handler مربوط به اون دکمه «شروع» نوشته باشی.
در این صورت طبیعی هست که این اتفاق بیافته.
دلیل اینه: چون کنترل رو به دست خودت گرفتی و به سیستم عامل اجازه نمی‌ده که بقیه رویدادها رو کنترل کنه.
برای این که سیستم عامل بتونه کلیک شدن یک دکمه دیگه رو تشخیص بده و Event Handler مربوط به اون دکمه رو فراخوانی کنه
لازمه که در حلقه‌ها و جاهای مختلف کدتون کنترل رو به صورت موقت به سیستم‌عامل برگردونید. این کار رو می‌تونید با
این متد انجام بدین:



Application.DoEvents();


اگه حلقه تو کد دارین ( به ویژه حلقه‌های طولانی ) ، لازم هست که توی حلقه این متد رو فراخوانی کنید.
صبا صبوحی

elahe1393
سه شنبه 16 دی 1393, 15:10 عصر
مرسی با توضیح ناقص من منظورمو خوب فهمیدین مشکلم حل شد.