منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساعدة حول منع تشغيل فورم بحالة عمل آخر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : مساعدة حول منع تشغيل فورم بحالة عمل آخر (/showthread.php?tid=27858)



مساعدة حول منع تشغيل فورم بحالة عمل آخر - sh.hasan - 10-12-18

مرحباً
لدي مشروع فيه فورمين Frm1 و Frm2 .
من الممنوع عمل الفورمين بآن معاً
أي أن أي منهما عندما يتم عرضه وقت التنفيذ سيتحقق من الآخر هل هو يعمل .. إذا الجواب نعم سيتم عرض رسالة لترك المجال للمستخدم ليقرر أن يبقى في الفورم الحالي أو يغلقه و يفتح الآخر .

كيف سيكون الكود لو سمحتم ؟

قمت بتجربة الكود التالي لكنه لم يعمل :
كود :
Dim msgresponse
   If frm1_On Then
       msgresponse = MsgBox("للمتابعة و فتح Frm2  ينبغي إغلاق Frm1  ؛ الإغلاق الآن ؟", vbYesNo, "تنبيه")
       If msgresponse = vbYes Then
Unload frm1
          frm1_On = False
           Else
          Exit Sub
      End If
  End If

حيث وضعت الكود في حدث تحميل الفورم الثاني و تم تعريف Frm1_On كمتحول بولياني يأخذ القيمة True  عند تحميل الفورم  و القيمة False عند إغلاقه .
المشكلة التي حدثت أن الفورم الثاني يتم تحميله عند اختيار VbNo و لكن من غير بيانات في صناديق النص .


RE: مساعدة حول منع تشغيل فورم بحالة عمل آخر - Ahmed_Mansoor - 13-12-18

أهلا بك أخي الكريم , عذراً على التاخير بالرد وذلك بسبب الإنشغال , هذا الكود بعد التعديل :

PHP كود :
Dim msgresponse
   
If frm1_On Then
   
   msgresponse 
MsgBox("للمتابعة و فتح Frm2  ينبغي إغلاق Frm1  ؛ الإغلاق الآن ؟"vbYesNo"تنبيه")
   
   If 
msgresponse vbYes Then
      Unload frm1
      frm1_On 
False
      frm2_On 
True
   
Else
      
Unload frm2
      frm2_On 
False
      
Exit Sub
   End 
If
   
End If 



RE: مساعدة حول منع تشغيل فورم بحالة عمل آخر - sh.hasan - 14-12-18

شكرا لك أستاذ أحمد سأقوم بتجربة الكود ؛
و لكن هل هناك Events في فيجوال بيسيك أو توابع من النظام يمكنها اخبارنا عن أن فورم معين هو قيد التشغيل الآن أو لا ؟ .. و لأني أفترض وجودها أسأل أيضاً ما طريقة استخدامها ؟
و الشكر سلفاً .


RE: مساعدة حول منع تشغيل فورم بحالة عمل آخر - sh.hasan - 15-12-18

الجزء التالي من الكود لم ينفع ؛ إذ يتم محاولة إلغاء تحميل الفورم قبل تحميله ؛ و ينتج عن هذا رسالة خطأ :

كود :
Else
      Unload frm2
      frm2_On = False
      Exit Sub
   End If

و قمت بتعديل هذا ليصبح كما يلي :

كود :
Else
           Exit Sub
   End If

على أن يتم إدراج كامل الكود في زر أمر و ليس في حدث تحميل الفورم .
شكرا للأستاذ أحمد مرة ثانية .