نظرة عامة حول نموذج تطبيق Visual Basic
Visual Basic يوفر نموذج مُعرف جيداً للتحكم في سلوك تطبيقات Windows Forms : نمط التطبيق Visual Basic . و يتضمن هذا الطراز أحداث لمعالجة بدء و إيقاف تشغيل التطبيق و كذلك أحداث لالتقاط الاستثناءات غير المعالجة . كما يوفر دعم لتطوير تطبيقات المثيل الواحد . و يعد نمط التطبيق قابل للتوسعة , لذلك المطورين الذين يحتاجون تحكم أكثر يمكنهم تخصيص أساليب التجاوز الخاصة به .
يستخدم نمط التطبيق
يحتاج التطبيق المماثل إلى تنفيذ المهام عند بدء و إيقاف التشغيل . على سبيل المثال ، عند بدء تشغيله يمكن للتطبيق عرض شاشة البداية و إجراء الاتصالات بقاعدة البيانات و تحميل الحالة المحفوظة و إلخ. و عند إيقاف تشغيل التطبيق , فإنه يمكنه غلق الاتصالات بقواعد البيانات , و حفظ الحالة الحالية و هكذا. بالإضافة إلى ذلك ، يتمكن التطبيق من تنفيذ التعليمات البرمجية المعينة عند إيقاف تشغيل التطبيق بشكل غير متوقع , مثل إيقاف التشغيل أثناء استثناء لم تتم معالجته .
نمط التطبيق Visual Basic يجعل من السهل إنشاء تطبيق المثيل الواحد . و تطبيق المثيل المفرد يختلف عن التطبيق العادي في أنه يمكن تشغيل مثيل واحد فقط من التطبيق في المرة الواحدة. محاولة تشغيل مثيل آخر من نتائج تطبيق المثيل الواحد في المثيل الأصلي تم الإعلام عن طريق وسائل حدث StartupNextInstance حيث تم إجراء محاولة تشغيل أخرى. و يتضمن الإعلام الوسائط اللاحقة لخط أوامر المثيل. ثم يتم غلق مثيل التطبيق اللاحق قبل إمكانية إجراء أي عملية تهيئة.
يبدأ تشغيل تطبيق المثيل المفرد ثم يختبر ما إذا كان المثيل الأول أو المثيل اللاحق للتطبيق :
إذا كان المثيل الأول ، فإنه يبدأ كالمعتاد.
كل محاولة تالية لبدء تشغيل التطبيق أثناء تشغيل أول مثيل ، تنتج سلوكاً مختلفاً جداً . و تقوم المحاولة اللاحقة بإعلام أول مثيل حول وسائط خط الأمر ، ثم تقوم بالإنهاء فوراً. يعالج المثيل الأول حدث StartupNextInstance لتحديد أي من وسائط خط الأمر للمثيل اللاحق قد تم ، ثم يستمر في التشغيل.
يُظهر هذا مخطط كيفية إشارة المثيل اللاحق للمثيل الأول.
بواسطة معالجة حدث StartupNextInstance ، يمكنك التحكم في سلوك تطبيق المثيل المفرد . على سبيل المثال، Microsoft Outlook عادةً يعمل على أنه تطبيق مثيل مفرد ; أثناء تشغيل Outlook و محاولة بدأ تشغيل Outlook مرة أخرى ، ينتقل التركيز إلى المثيل الأصلي و لكن لا يتم فتح مثيل آخر.
الأحداث في نمط التطبيق
يتم العثور على الأحداث التالية في نمط التطبيق:
بدء تشغيل التطبيق . يرفع التطبيق حدث Startup عند بدء تشغيله. و بواسطة معالجة هذه الأحداث , يمكنك إضافة التعليمات البرمجية التي تهيئ التطبيق قبل تحميل النموذج الرئيسي. كما يتم توفير حدث Startup لإلغاء تنفيذ التطبيق أثناء تلك المرحلة من عملية بدء التشغيل إذا رغبت في ذلك.
يمكنك تكوين التطبيق لإظهار شاشة البداية أثناء تشغيل التعليمات البرمجية لبدء تشغيل التطبيق . بشكل افتراضي ، يمنع نمط التطبيق شاشة البداية عند استخدام إما وسيطة خط الأوامر /nosplash أو -nosplash .
التطبيقات مفردة المثيل . تم رفع حدث StartupNextInstance عند بدء تشغيل المثيل اللاحق لتطبيق المثيل الواحد . و يمرر الحدث وسيطات خط الأمر للمثيل اللاحق.
الاستثناءات غير المعالجة. إذا واجه التطبيق استثناء لم تتم معالجته , فإنه يرفع حدث UnhandledException . و معالج الحدث ذلك يمكنه تفحص الاستثناء و تحديد ما إذا كان سيتم متابعة التنفيذ.
و لا يتم رفع حدث UnhandledException في بعض الحالات. لمزيد من المعلومات، راجع UnhandledException.
تغييرات شبكة الاتصال. إذا تغيَر مستوى إتاحة شبكة جهاز الكمبيوتر ، يرفع التطبيق حدث NetworkAvailabilityChanged .
و لا يتم رفع حدث NetworkAvailabilityChanged في بعض الحالات. لمزيد من المعلومات، راجع NetworkAvailabilityChanged.
إيقاف تشغيل التطبيق . يوفر التطبيق حدث Shutdown للإشارة عندما يكون التطبيق على وشك وقف التشغيل. و في معالج الحدث ذلك ، يمكنك التأكد من أن عمليات التطبيق الخاص بك تحتاج لإجراء — إغلاق و حفظ , على سبيل المثال — يتم إكمالها. و يمكنك تكوين التطبيق الخاص بك لوقف التشغيل عند غلق النموذج الرئيسي أو إيقاف التشغيل فقط عند غلق كل النماذج.
التوفر
بشكل افتراضي , نمط تطبيق Visual Basic يكون متوفرًا لمشاريع Windows Forms. و إذا قمت بتكوين التطبيق لاستخدام كائن بدء تشغيل مختلف , أو بدأ التعليمات البرمجية للتطبيق مع Sub Main المخصصة ، ثم هذا الكائن أو الفئة قد تحتاج إلى توفير تطبيق لفئة WindowsFormsApplicationBase لاستخدام نمط التطبيق. و لمزيد من المعلومات حول تغيير كائن بدء التشغيل ، راجع كيفية القيام بما يلي: تغيير كائن بدء التشغيل (Visual Basic) لأحد التطبيقات.