هلا
هل هناك كود معين يقوم باغلاق MsgBoء و لكن تلقائيا بواسطة اوامر برمجية؟
بحثت كثيرا و لم اجد حل
انا استعمل فيجوال بيسك دوت نت 2005
شكرا
هلا
هل هناك كود معين يقوم باغلاق MsgBoء و لكن تلقائيا بواسطة اوامر برمجية؟
بحثت كثيرا و لم اجد حل
انا استعمل فيجوال بيسك دوت نت 2005
شكرا
هل تريد معلومه جانبية لا تاثر من سير المشروع
اذا كان ذلك اصنع فرمع صغير بها تيمر وتغليق بعدج وقت واستعها كاي فرمه
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); إذا افترضنا أن نافذة البرنامج هي النافذة الفعالة في ويندوز فيمكن استخدام
SendKeys.Send("{ENTER}")على فرض أيضا أنه Ok message box أي بزر واحد فقط
لتجنب هذه المشكلة يمكنك بناء فورم خاص بك ليحل محل ال MessageBox ثم تغلقه باستخدام:
form1.Close
تم تعديل هذه المشاركة بواسطة byte101 في 9 فبراير 2012 في 01:20
لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ
أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو
أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ
لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ
لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ
إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ
شكرا على مروركم .
و لكن انا لا اريد عمل From جديد .
اما بالنسبة للSendkEys فهي طريقة فعالة و لكن .. هناك مشكلة و هي ان الMESSAGEBOX لا تظهر على انها الشاشة الفعالة Active window بل على اليوزر نقرها ليراها.
فهل هناك كود معين يجعل الMesgBox هي الشاشة الفعالة .؟؟ اذا كان نعم فاذن انحلت المشكلة حيث ان SendKeys سوف ترسل Enter الى MsgBox
تم تعديل هذه المشاركة بواسطة adam master في 9 فبراير 2012 في 11:40
adam master كتب:هناك مشكلة و هي ان الMESSAGEBOX لا تظهر على انها الشاشة الفعالة Active window بل على اليوزر نقرها ليراها.
لم أفهم ماذا تقصد بـ "بل على اليوزر نقرها ليراها"
عندما تظهر الـ messagebox فإنها حتما هي الفعالة لأنها الـ top most على مستوى البرنامج، أما ما ذكرته سابقا فهو أن يكون البرنامج ككل هو الفعال (و ليس برنامج آخر: وورد مثلا)
لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ
أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو
أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ
لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ
لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ
إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ
byte101 كتب:لم أفهم ماذا تقصد بـ "بل على اليوزر نقرها ليراها"
عندما تظهر الـ messagebox فإنها حتما هي الفعالة لأنها الـ top most على مستوى البرنامج، أما ما ذكرته سابقا فهو أن يكون البرنامج ككل هو الفعال (و ليس برنامج آخر: وورد مثلا)
اخي الMSGBOX عندي لا تظهر شاشة فعالة Active window بل تظهر في الاسفل بجانب Start لان البرنامج في معظم الاحيان ليس هو الفعال .. مثلا قد يكون وورد هو الفعال..
تم تعديل هذه المشاركة بواسطة adam master في 12 فبراير 2012 في 11:21
adam master كتب:اخي الMSGBOX عندي لا تظهر شاشة فعالة Active window بل تظهر في الاسفل بجانب Start لان البرنامج في معظم الاحيان ليس هو الفعال .. مثلا قد يكون وورد هو الفعال..
هذا هو الاحتمال الذي طرحته من البداية، فيهذه الحالة أظن أنه لا بد من استخدام فورة خاص بك
خطر ببالي فكرة و لكن لم أجربها، لا أدري هل ستكون ناجحة أم لا:
إذا وضعنا timer على الفورم الرئيسي و كل مدة معينة يفحص ما هي النافذة الفعالة (و يكون ذلك على مستوى البرنامج) فإن كانت message box يقوم بإغلاقها
مجردفكرة خطرت ببالي و لا أدري ما هي إمكانية التطبيق
لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ
أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو
أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ
لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ
لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ
إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ
byte101 كتب:هذا هو الاحتمال الذي طرحته من البداية، فيهذه الحالة أظن أنه لا بد من استخدام فورة خاص بك
خطر ببالي فكرة و لكن لم أجربها، لا أدري هل ستكون ناجحة أم لا:
إذا وضعنا timer على الفورم الرئيسي و كل مدة معينة يفحص ما هي النافذة الفعالة (و يكون ذلك على مستوى البرنامج) فإن كانت message box يقوم بإغلاقها
مجردفكرة خطرت ببالي و لا أدري ما هي إمكانية التطبيق
اظن ان عمل فورم و وضع فيه تايمر فكرة جيدة .. و لكن البرنامج يقوم بعمليات دوران كثيرة(Loops) و الفورم سيظهر كشاشة بيضاء..
و لكن اظن ان هذا هو الحل الوحيد(الا اذا كان هناك دوال API يمكن ان تكشف اذا كان هناك MsgBox مفتوح ام لا) .. شكرا على مساعدتك .
تحياتي
تم تعديل هذه المشاركة بواسطة adam master في 13 فبراير 2012 في 16:00
استخدم اسلوب ال Threading
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); KARIMSOFT كتب:استخدم اسلوب ال Threading
طيب انا لم اسمع عن الThreading من قبل ممكن تعطيني فكرة ؟؟؟
السلام عليكم
لدي مشكلة فريبة من مشكلة الاخ ادم وهي
عند تنفيذ امر معين بعده تريد ان تخبر المستخدم ان العملية تمت عن طريق msgbox
فأنا لا اريد للمستخدم ان يضعط على زر الـok بنفسه بل اريد تظهر الرسالة لفترة قصيرة ثم تغلق نفسها
جربت الكود اعلاه لكن اكتشفت ان الـcombiler لا ينفذ الكود الذي يلي الرسالة الا بعد ان يستجيب له المستخدم
فكيف انفذ هذه الفكرة؟
يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين
iamsad كتب:السلام عليكم
لدي مشكلة فريبة من مشكلة الاخ ادم وهي
عند تنفيذ امر معين بعده تريد ان تخبر المستخدم ان العملية تمت عن طريق msgbox
فأنا لا اريد للمستخدم ان يضعط على زر الـok بنفسه بل اريد تظهر الرسالة لفترة قصيرة ثم تغلق نفسها
جربت الكود اعلاه لكن اكتشفت ان الـcombiler لا ينفذ الكود الذي يلي الرسالة الا بعد ان يستجيب له المستخدم
فكيف انفذ هذه الفكرة؟
مم الظاهر ما فيش حل هههه
مجرد فكره قد تفي بالغرض ..
ممكن نشئ msgbox يدويا من خلال فورم ما ، ونظهره من خلال frm2.show() و نضع topmost = true والفورم الرئيسي نعطله frm1.enabled = true ...
تخيلوا لو تمت الفكرة من خلال Class ... أعتقد ستحل المشكلة ..
... إذا كنت تعتقد أن مشاركتي مفيده ، الرجاء قم بتقييمي ...
