PDA

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



zshojaee
چهارشنبه 07 دی 1390, 13:31 عصر
سلام دوستان
من دو تا فرم دارم که وقتی فرم اصلی رو اجرا میکنم وسط اجرا از جایی که دستور show فرم دوم رو نوشتم، میخوام اجرای باقی کدهای فرم اول متوقف بشه تا زمانی که دو تا مقدار در textBox های فرم دوم توسط کاربر وارد بشه و دکمه ok رو بزنه بعد فرم دوم بسته بشه و ادامه کدهای فرم اول اجرا بشه. ولی مثل اینکه همزمان ادامه کدهای فرم اصلی رو هم اجرا میکنه و باعث میشه مقادیری که من در فرم دوم وارد کردم و از اونا تو باقی کدهای فرم اول استفاده میکنم اشتباه وارد بشن:ناراحت:. نمیدونم باید چیکار کنم. لطفا اگه کسی میدونه راهنمایی کنه.
ممنونم

sayvan
چهارشنبه 07 دی 1390, 13:54 عصر
خوب میتونی کدایی رو که باقی کدهای فرم اولت محسوب میشه رو به فرم دیگه انتقال بدی در فرمت اول فقط فرم دوم رو نشون بده بعد به وسیله ی فرم دوم مابقی دستوراتت رو اجرا کن

zshojaee
چهارشنبه 07 دی 1390, 14:12 عصر
آخه نمیشه چون کدهای فرم اصلی من وقتی یه دکمه رو فرمم رو میزنم اجرا میشن و یه حلقه است که هر بار وسط حلقه فرم دوم رو صدا میزنم که دو تا مقدار از کاربر بگیرم و بعد ادامه بدم.
در کل من یه حلقه دارم که میخوام وسطش دو تا مقدار از کاربر بگیرم و بعد بر اساس اون مقادیر ادامه بدم و فرم دوم رو هم برای گرفتن این دو تا مقدار از کاربر گذاشتم. اگه بتونم به نحو دیگه ای وسط اجرا (در هر بار اجرای حلقه) این مقادیر رو از کاربر بگیرم اصلا به فرم دومم نیازی ندارم.

b.saminjad
چهارشنبه 07 دی 1390, 14:26 عصر
سلام

شما میتونید با استفاده از نخ ها اجرای کدها را متوقف کنید
فضای نام روبرو رو اضافه کن



using namespace system.threading



حالا هر جا خاستی برنامه وایسه کد زیرو بنویس این تابع برنامه را به مدت 500 میلی ثانیه متوقف میکنه که بسته به نیازت تغییرش بده
thread.sleep(500) //pause program

sayvan
چهارشنبه 07 دی 1390, 14:38 عصر
دوست متن استفاده از Thread کل برنامه رو قفل میکنه
دوست من به جای Show از ShowDialog استفاده کن ببین کارت درست میشه در ضمن باید متغییر سراسری برای تبادل اطلاعات از فرم 2 به فرم 1 hاستفاده کنی
متغییر سراسری سری به اینجا بزن (http://barnamenevis.org/showthread.php?320200-%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D8%B3%D8%B1%D8%A7%D8%B3%D8%B1%DB%8C&p=1404774#post1404774)

zshojaee
چهارشنبه 07 دی 1390, 14:42 عصر
از دوستان بخاطر راهنماییهاشون ممنونم
ولی یعنی امکان این وجود نداره که اجرای کدها در فرم اصلی متوقف بشه تا وقتی که یه event مثلا فشردن دکمه ok روی فرم دوم رخ بده ؟؟

sayvan
چهارشنبه 07 دی 1390, 14:49 عصر
آره دادش من تستش کردم از همون ShowDialog استفاده کن جواب میده حتما
موفق باشی

b.saminjad
چهارشنبه 07 دی 1390, 17:46 عصر
سلام
ببخشید من صورت سوالو درست نخوندم درسته اگه از متد showdialog به جای show استفاده بشه چون فرم دومی را به عنوان پنجره پیغام باز کرده(برنامه متوقف میشه تا فرم مورد نظر بسته بشه مثل messagebox) کنترل برنامه به فرم 2 منتقل شده و پس از بستن ان ادامه دستورات انجام میشه

sayvan
چهارشنبه 07 دی 1390, 17:51 عصر
خوب شما هم همینو میخواستین کاربر در فرم نشان داده شده اطلاعاتشو بگیرد بعد فرم بسته بشه و بازم کنترل برنامه به خط بعد از ShowDialog برمیگرده