تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة حول منع تشغيل فورم بحالة عمل آخر
#1
مرحباً
لدي مشروع فيه فورمين 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 و لكن من غير بيانات في صناديق النص .
الرد
تم الشكر بواسطة:
#2
أهلا بك أخي الكريم , عذراً على التاخير بالرد وذلك بسبب الإنشغال , هذا الكود بعد التعديل :

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 
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد
تم الشكر بواسطة: عبد العزيز البسكري , sh.hasan , elgokr
#3
شكرا لك أستاذ أحمد سأقوم بتجربة الكود ؛
و لكن هل هناك Events في فيجوال بيسيك أو توابع من النظام يمكنها اخبارنا عن أن فورم معين هو قيد التشغيل الآن أو لا ؟ .. و لأني أفترض وجودها أسأل أيضاً ما طريقة استخدامها ؟
و الشكر سلفاً .
الرد
تم الشكر بواسطة: elgokr
#4
الجزء التالي من الكود لم ينفع ؛ إذ يتم محاولة إلغاء تحميل الفورم قبل تحميله ؛ و ينتج عن هذا رسالة خطأ :

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

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

كود :
Else
           Exit Sub
   End If

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



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم