الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن كود لرسالة تأكيد الخروج من الفورم ويقوم بقفل جميع الفورم المفتوحة

بدأه #A-H.c في 18 يوليو 2014 · 11 رد · 4,508 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ممكن كود لرسالة تأكيد الخروج من الفورم ويقوم بقفل جميع الفورم المفتوحة بدون رسالة خطأ

585211040.jpg

توضيح اكتر

يوجد فورم للدخول

وفورم للشاشة الرئيسية

وايضا فورم رسالة تأكيد الخروج التي بالاعلى

بالنسبة لزر " لا " اضفت هذا الكود:

            this.Close();

وبالنسبة للزر " نعم " اضفت اليه الاكواد الاتية ولكن بها مشاكل :

// الكود الاولfor (int i = Application.OpenForms.Count-1 ; i >= 0; i--)            {                if (Application.OpenForms.Name != "Menu")                    Application.OpenForms.Close();            }رسالة الخطأ الخاصة لهذا الكود// Index was out of range. Must be non-negative and less than the size of the collection.// وهذا كود اخر            //Application.Exit();// رسالة الخطأ الخاصة لهذا الكود// Collection was modified; enumeration operation may not execute.

المشكلة : اذا ضغط اولا على زر " نعم "  يتم الخروج بدون مشاكل اما اذا ضغط على زر " لا " اولا  ثم دخلت مرة اخرة لرسالة التأكيد

تظهر لي رسالة خطأ

 

فممكن كود يعمل لزر نعم بدون اخطاء

تم تعديل هذه المشاركة بواسطة #A-H.c في 18 يوليو 2014 في 22:53

#2

حسب معلوماتي من الافنت للفورم في افنت اسمه فورم كلوزنق 

 

تكتب فيه الكود اللي يظهر رسالة التأكيد

 

وتستخدم ال e  لتاكيد الخروج 

 

وبالسبة للخروج من جميع الابلكيشن استخدم  Application.Exit;

 

الكود مايحضرني حاليا لكنه سهل جدا

1
#3

اخي الكريم فقط قم بتعديل حلقة الـ For بحيث تبدأ من عدد النوافذ المفتوحة -1.

Appliation.OpenForms.Count -1

1

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#4

شكراً للجميع

الكود شغال تمام مع ازرار ال button

بينما معا زرار X اعلى نافذة الفورم الرئيسية يقوم بعمل بتكرار فتح رسالة تأكيد الخروج بدلا من غلق جميع الفورم عند الضغط على زر نعم

تم تعديل هذه المشاركة بواسطة #A-H.c في 19 يوليو 2014 في 01:22

#5

السلام عليكم ورحمة الله وبركاته

جرب الكود التالى

Environment.Exit(0)
9

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#6
ema2000_t كتب:

 

السلام عليكم ورحمة الله وبركاته

جرب الكود التالى

Environment.Exit(0)

 

الله ينور يا دكتور سيد تُهامي الكود اشتغل بدون مشاكل ماشاء الله

#7

لا أعلم أخي العزيز لماذا تريد أن تغلق النوافذ المتفوحة مادمت في كل الأحوال ستغلق البرنامج بإستخدام Application.Exit();  فهي ستغنيك عن غلق النوافذ وستقوم هي بغلق النوافذ وإنهاء عمل البرنامج.

اما بالنسبة لتفعيل زر X  أثناء الإغلاق ما عليك سوي الكتابة تحت حدث غلق الفورم كالتالي :

        private void frmGeneral_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (changing == true && pumpLogPath == "")
            {
                DialogResult result = MessageBox.Show("Do you want to close the program", "warning messange", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                switch (result)
                {
                    case DialogResult.Yes:
                        Application.Exit();
                        break;
                    case DialogResult.No:

                        e.Cancel = true;
                        break;
                }
            }
        }
1
#8
عمرو عماد كتب:

 

لا أعلم أخي العزيز لماذا تريد أن تغلق النوافذ المتفوحة مادمت في كل الأحوال ستغلق البرنامج بإستخدام Application.Exit();  فهي ستغنيك عن غلق النوافذ وستقوم هي بغلق النوافذ وإنهاء عمل البرنامج.

اما بالنسبة لتفعيل زر X  أثناء الإغلاق ما عليك سوي الكتابة تحت حدث غلق الفورم كالتالي :

        private void frmGeneral_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (changing == true && pumpLogPath == "")
            {
                DialogResult result = MessageBox.Show("Do you want to close the program", "warning messange", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                switch (result)
                {
                    case DialogResult.Yes:
                        Application.Exit();
                        break;
                    case DialogResult.No:

                        e.Cancel = true;
                        break;
                }
            }
        }

 

شكرا اخي عمرو عماد على الكود

بالنسبة للكود Application.Exit(); بينفع مع MessageBox.Show بس لما بعمل فورم تأكيد الخروج زي اللي في اول المشاركة لما بدوس نعم بيعيد فتح فورم التأكيد بدل الغلق

واللي نفع معاها Environment.Exit(0)

وجزاك الله كل خير على المشاركة بحلولك

#9

أخي حتي لو أستخدمت الفورم تبعك لا مشكلة .. يمكنك إدراج لي الكود الخاص بك وسأقوم بتعديله إن أردت

وخلاصة ما اود قوله هو ان تقوم بتحويل الفورم تبعك كأنها Messagebox  وتعطي للأزرار قيمة OK  و Cancel ..

1
#10
عمرو عماد كتب:

أخي حتي لو أستخدمت الفورم تبعك لا مشكلة .. يمكنك إدراج لي الكود الخاص بك وسأقوم بتعديله إن أردت

وخلاصة ما اود قوله هو ان تقوم بتحويل الفورم تبعك كأنها Messagebox  وتعطي للأزرار قيمة OK  و Cancel ..

 

شكراً على المتابعة والمشاركة اخي عمرو عماد

بالنسبة لل Messagebox انا جربتها ونفع فيها ال Application.Exit();

DialogResult dialogResult = MessageBox.Show("تأكيدالخروج", "رسالة تأكيد", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
    Application.Exit();
}
else if (dialogResult == DialogResult.No)
{
   this.Dispose();
            this.Close();
}

فممكن الكود اللي ابدل بيه ال Messagebox بالفورم frmMSG اللي انا عامله زي اللي في اول مشاركة ؟

تم تعديل هذه المشاركة بواسطة #A-H.c في 24 يوليو 2014 في 19:38

#11

ده الفكرة مكتوبة بكود السي شارب إختصارا للوقت :)

frmClosing.rar

تم تعديل هذه المشاركة بواسطة عمرو عماد في 25 يوليو 2014 في 01:44

#12

بارك الله فيك أ.

عمرو عماد

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…