PDA

View Full Version : نمايش دو فرم با استفاده از Thread



yasercomeng
دوشنبه 10 تیر 1387, 15:50 عصر
چطور مي تونم با استفاده از Thread ها دو تا فرم رو با هم نشون بدم.من هر كاري ميكنم چه با كنترل BackGroundWorker و چه با كنترل كردن مقدار InvokeRequired مربوط به فرمي كه ميخوام نمايش بدم ExeptionError ميده.

mk1984
دوشنبه 10 تیر 1387, 21:48 عصر
اگر Exception در ارتباط با Cross Thread هست میتونید با این روش مسئله رو حل کنید البته کمی خطرناک است :
یک خصوصیت static در کلاس Contolبه نام
CheckForIllegalCrossThreadCalls هست که می تونید مقدارش رو false کنید و از Thread فعلی یک شیء رو در یک Thread دیگر تغییر بدهید. البته بعد از اتمام کار دوباره مقدارش رو true کنید.

yasercomeng
سه شنبه 11 تیر 1387, 01:41 صبح
بله تويه msdn هم به خطرناك بودن اين روش تاكيد شده بود!!!!
من نميخوام خطا رو از بين ببرم مي خوام برنامم درست كار كنه.

yasercomeng
چهارشنبه 12 تیر 1387, 11:48 صبح
فکر کنم تا این مطلب تو صفحه اول نباشه کسی بهش توجه نمیکنه من دو تا سوال پرسیدم هر دو تاش الان رو هواست پروژه منم رو هوا هست!!!
لطفا کمک کنین.
سوال دوم من:
http://barnamenevis.org/forum/showthread.php?t=110427

yasercomeng
پنج شنبه 13 تیر 1387, 16:17 عصر
سلام جواب اين سوال خيلي ساده بود و جوابشم اينه كه امكان اين كار اصلا وجود نداره چرا چون ماهيت فرمهاي ويندوز اين گونه نيست هميشه يك فرم به عنوان top انتخاب ميشه و شما با اون كار ميكنيد و هيچ دو فرمي ميتونه به طور هم زمان فعال باشه.
حالا من سوالمو يه كم تغيير ميدهم اينكه چه طور خوده ويندوز فرمهاي مختلف رو مديريت ميكنه به طوري كه نيازي به بستن يك فرم براي رسيدن به فرم ديگر نيست؟
فكر ميكنم خاصيت MDI اين فرمها يه چيزايي براي گفتن داشته باشه اگه ممكنه يه كم در مورد اين خاصيت فرم ها توضيح بديد.

mohammad272005
جمعه 14 تیر 1387, 02:10 صبح
لزومي نداره فرم رو ShowDialog كنيد. Show كافيه.

yasercomeng
جمعه 14 تیر 1387, 19:15 عصر
سلام.انجام دادم ولي نشد كه نشد Cross-Thread Exeption ميده.گفتم كه براي جلوگيري از اين پيغام تويه msdn دو تا راه پيشنهاد كرده يا با استفاده از كنترل BackGroundWorker اين كارو انجام بديم يا با Invokerequired property ولي با وجود اين هم بازم همون پيغام رو ميده.
ببين شايد اين مثال قضيه رو روشن تر كنه يه فرم ميخوام شبيه فرمي كه برنامه Nero موقع Add كردن داده ها ازش استفاده ميكنه.ويژگي اين فرم چيه؟ اينه كه همزمان كه فرم جاري برقراره ميتونيد تويه فرم زيري اطلاعات را تغيير بديم.

سؤال بي پاسخ من: http://barnamenevis.org/forum/showthread.php?t=110427