تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أحداث التطبيق Application Events
#1
كاتب الموضوع : samerselo


من مستكشف الحل Solution Explorer انقر بالماوس اليميني على مشروعك ثم اختر Properties ثم من صفحة Application اضغط زر View Application Events فيتم نقلك لمحرر الكود حيث تتمكن من استخدام الحدث الذي تحتاج لمعالجته في تطبيقك من خصائص التطبيق

وفيما يلي تعريف بكل حدث على حدة

My.Application.Startup Event
حيث ينطلق هذا الحدث عند بداية التطبيق لتضع فيه الأوامر التي تريد تنفيذها عند بداية التطبيق فمثلا إذا أردت تغيير الثقافة الخاصة بالتطبيق إلى العربية – سورية نستخدم كودا شبيها بالتالي:

كود :
Private Sub MyApplication_Startup(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) _
Handles Me.Startup

' تغيير الثقافة الخاصة بالتطبيق عند بداية التطبيق
' قبل إظهار أية نافذة
My.Application.ChangeCulture("Ar-Sy")

End Sub
و البارامتر e يشير إلى الفئة Class StartupEventArgs التي توفر معلومات حول بداية التطبيق ولها عدة خصائص مثل Cancel التي تقوم بإلغاء الحدث و CommandLine التي تمرر بارامترات سطر الأوامر للتطبيق command-line arguments كما يمكنك الحصول على بارامترات سطر الأوامر أيضا باستخدام الأمر My.Application.CommandLineArgs من أي مكان في التطبيق

My.Application.Shutdown Event
حيث ينطلق هذا ا الحدث عند نهاية التطبيق فيمكنك استخدامه لمعالجة الأمور التي تحتاجها قبل نهاية التطبيق مباشرة
مثال :

كود :
Private Sub MyApplication_Shutdown(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Shutdown

My.Application.Log.WriteEntry("Application Shut Down.")

End Sub
My.Application.StartupNextInstance Event
حيث ينطلق هذا ا الحدث عندما تحاول تشغيل نسخة ثانية من التطبيق المفترض أن يكون وحيد التواجد single-instance application والتطبيق مفتوح فعليا
مثال:

كود :
Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs)_
Handles Me.StartupNextInstance

Dim inputArgument As String = "/input="
Dim inputName As String = ""
For Each s As String In e.CommandLine
If s.ToLower.StartsWith(inputArgument) Then
inputName = s.Remove(0, inputArgument.Length)
End If
Next
If inputName = "" Then
MsgBox("No input name")
Else
MsgBox("Input name: " & inputName)
End If
End Sub
حيث يشير البارامتر e للفئة StartupNextInstanceEventArgs التي تعيد معلومات حول تواجدات التطبيق Application Instancs حيث تحدد الخاصية BringToForeground فيما إذا كان يجب نقل التواجد الأول للتطبيق إلى الواجهة و الخاصية CommandLine تحدد بارامترات سطر الأوامر للتواجد الجديد للتطبيق

My.Application.UnhandledException Event
حيث ينطلق هذا ا الحدث عندما ينطلق استثناء Exception في تطبيقك لم تتم معالجته داخل التطبيق لتتمكن من إجراء معالجة لهذا الاستثناء
مثال:

كود :
Private Sub MyApplication_UnhandledException(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) _
Handles Me.UnhandledException

My.Application.Log.WriteException(e.Exception, _
TraceEventType.Critical, "Unhandled Exception.")

End Sub
و البارامتر e يشير إلى الفئة UnhandledExceptionEventArgs التي تحوي معلومات حول الخطأ مثل الخاصية Exception التي تحوي معلومات عن الخطأ و الخاصية ExitApplication التي تحدد فيما إذا كان يجب إنهاء التطبيق فور نهاية الإجرائية

NetworkChange.NetworkAvailabilityChanged Event
ينطلق هذا الحدث عندما تحدث تغييرات حول توافر الشبكة

كود :
Private Sub MyApplication_NetworkAvailabilityChanged(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs) _
Handles Me.NetworkAvailabilityChanged

MsgBox(e.IsNetworkAvailable.ToString)

End Sub
حيث يشير البارامتر e للفئة NetworkAvailableEventArgs التي تمرر معلومات حول توافر الشبكة ولها خاصية مفيدة هي IsNetworkAvailable التي تعيد قيمة منطقية هل الشبكة متوافرة أم لا




أرجو أن يكون هذا الشرح على عجالة مفيدا للجميع في التعرف على Application Events حيث يمكنكم الحصول على التفاصيل حول كل حدث من هذه الأحداث في مكتبة MSDN المرفقة مع فيجول ستوديو
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Rainbow Toolbox in VB.NET - Common Controls - Lesson Two - Button Control Events Genius Live 2 1,284 18-03-14, 05:46 AM
آخر رد: Genius Live
  معلومة ::: Enabling Application to Stored Procedure Debugging RaggiTech 0 317 06-10-12, 10:21 PM
آخر رد: RaggiTech
  مقال- SplashScreen and Application Events RaggiTech 0 368 05-10-12, 11:54 AM
آخر رد: RaggiTech
  تعلم أضافة الأدوات على الفورم وقت التشغيل وإضافة أحداث الضغط وما شايه لها RaggiTech 0 429 03-10-12, 09:29 AM
آخر رد: RaggiTech
  اضافة الدرع لازرار التطبيق بالكود (زر مدير نظام ) RaggiTech 0 325 02-10-12, 02:05 AM
آخر رد: RaggiTech

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


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