عرض مشاركة واحدة
  #1 (permalink)  
قديم 02-02-2007, 01:39 PM
الصورة الرمزية المحــ البرمجى ــتوى
المحــ البرمجى ــتوى المحــ البرمجى ــتوى غير متواجد حالياً
مالك ومؤسس المحتوي البرمجي
 
من مواضيع :: المحــ البرمجى ــتوى
0 فيروس جديد يتذكر لمساتك على لوحة المفاتيح..!!
0 حصريا مسلسل يسرا قضية رأى عام كامل 30 حلقة
0 الدرس الاول من الدوره لينكس
0 المحتوى البرمجى في غلق أو أعاد ه تشغيل الكمبيوتر بسرعة رهيبه
0 لعبة Super Mario Worlds للتحميل
0 شرح طريقة اضافة ابتسامات جديدة للمنتدى
0 تحذير : للبالغين فقط !!
0 التعا مل مع ال parallel port بواسطة الفيجوال بيسيك

 
تاريخ التسجيل: Sep 2006
الدولة: مصر
العمر: 25
المشاركات: 6,033
المحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud of
إرسال رسالة عبر مراسل MSN إلى المحــ البرمجى ــتوى إرسال رسالة عبر مراسل Yahoo إلى المحــ البرمجى ــتوى
أحداث التطبيق Application Events

 

 

 

 

الشرح هنا خاص بـ Visual Basic 2005

للوصول إليها:

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

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

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





كود PHP:

Private Sub MyApplication_Startup(ByVal sender As @_@@_@@_@@_@@_@@_@‚ _
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 من أي مكان في التطبيق






كود PHP:


My
.Application.Shutdown Event 



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





كود PHP:


                
Private Sub MyApplication_Shutdown(ByVal sender As @_@@_@@_@@_@@_@@_@‚ _
                        ByVal e 
As System.EventArgsHandles Me.Shutdown

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

                
End Sub
My
.Application.StartupNextInstance Event 



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






كود PHP:


Private Sub MyApplication_StartupNextInstance(ByVal sender As @_@@_@@_@@_@@_@@_@‚ _
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(inputArgumentThen
                                        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 في تطبيقك لم تتم معالجته داخل التطبيق لتتمكن من إجراء معالجة لهذا الاستثناء
مثال:






كود PHP:


Private Sub MyApplication_UnhandledException(ByVal sender As @_@@_@@_@@_@@_@@_@‚ _
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 التي تحدد فيما إذا كان يجب إنهاء التطبيق فور نهاية الإجرائية






كود PHP:


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

Private Sub MyApplication_NetworkAvailabilityChanged(ByVal sender As @_@@_@@_@@_@@_@@_@‚ _
        ByVal e 
As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs_
        Handles Me
.NetworkAvailabilityChanged

                        MsgBox
(e.IsNetworkAvailable.ToString)

End Sub 




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




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

 

توقيع :المحــ البرمجى ــتوى
للحصول على دعم فني أفضل وأسرع احرص على ما يلي :
ــ ليكن عنوان موضوعك واضح ومناسب بعيدا عن الفزعه وغيرها من العناوين .
ــ ليكن طلبك أو سؤالك واضح ومحدد ولا تكتب أكثر من مشكلة في موضوع واحد .
ــ لا تستدعي عضو معين بإسمه يا فلان ويا علان .
ــ ضع رابط للمعاينة في حالة الحاجة لذلك .
ــ ارفق صور توضيحية للمشكلة في حالة الحاجة لذلك .
ــ اذا كانت المشكلة بسبب هاك يتوجب ارفاقه أو وضع رابط للهاك .
ــ اذا حصلت على المساعدة وتم حل المشكلة فتذكر أن ترد على الموضوع وتوضيح أنه تم حل المشكلة .
رد مع اقتباس