مقال- SplashScreen and Application Events - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : مقال- SplashScreen and Application Events (/showthread.php?tid=5177) |
مقال- SplashScreen and Application Events - RaggiTech - 05-10-12 كاتب الموضوع : silverlight
مقال: SplashScreen and Application Events SplashScreen كما يعلم الجميع هي بداية أي برنامج حيث يستطيع المبرمج أن يضع أي بيانات بخصوص البرنامج أو يضيف لها أي بيانات طبقا لاحتياجات البرنامج أو المبرمج علي حد سواء. المقال التالي لا يختص بشرح كيفية عمل أو إضافة SplashScreen الي البرنامج فالجميع يعلم كيف يفعل ذلك ولكن ما سوف نتحدث عنه هو العلاقة بين SplashScreen و Application Events وكيفية استخدام Application Events في تحديد الوقت المطلوب لعرض SplashScreen علي شاشة الكمبيوتر. ما هي Application Events ؟ عندما تفتح أي مشروع جديد يقوم برنامج الفيجوال استوديو بإضافة بعض الملفات الي المشروع ولكي تري هذه الملفات يمكنك أن تضغط عي أيقونة Show All Files من نافذة Solution Explorer وهي الأيقونة Icon الثانية من جهة اليسار في نافذة Solution Explorer باستخدام الماوس تستطيع التنقل بين جميع الملفات و Folders الموجودة في مشروعك مثل References و Bin Folder , و Release Folder وMy Project Folder بالإضافة الي أشياء أخري في الواقع إن ما بهمنا هنا هو My Project Folder وهناك ستجد بعض الملفات مثل ملف ِApplication وهو امتداده عبارة عن myapp وأيضا ستجد ملف أخر اسمه AssemblyInfo وامتداده vb وأيضا Resources العامة للبرنامج ويمكنك عزيزي القارئ أن تضيف لها إن أردت أي ملفات حيث يمكن استخدام هذه الملفات لاحقا من داخل البرنامج وأيضا ستجد ملف Settings وامتداده settings وتحت معظم هذه الملفات ستجد ملفات أخري يمكنك استعراضها وفتحها ورؤية ما بداخلها من أين جاءت هذه الملفات؟ كل هذه الملفات قام برنامج الفيجوال استوديو بإنشائها لك في الواقع الفيجوال استوديو يستخدم Model أو نموذج جاهز صممته مايكروسوفت طبعا وهو المسئول عن إضافة كل هذه الملفات أوتوماتيكيا الي البرنامج وهنا يأتي السؤال هل من الممكن التعديل في هذه الملفات ؟ طبعا ممكن وهذا يتم غالبا عن طريق فتح نافذة Properties من قائمة Project أو إما بالوقوف علي اسم المشروع من نافذة Solution Explorer عن الطريق الضغط علي يمين الماوس واختيار Properties وهنا ستفتح لك نافذة عامه بها الكثير من الاختيارات التي تختص بأشياء كثيرة إن ما بهمنا في هذه النافذة الاختيار Application وهو الاختيار الافتراضي عند فتح نافذة Properties التي تخص المشروع وهناك سوف تري Assembly Information Button و أيضا Startup Form و Icon و ِAssemblyName و RootNamespace الي أخره من الاختيارات التي يمكنك استخدامها والتغيير فيها إن أي تغيير في هذه البيانات ينعكس علي الملفات الموجودة تحت برنامجك ولو نظرت في الأسف ستري SplashScreen وهناك يمكنك أن تحدد إذا ما كان البرنامج سيتم ربطه مع SplashScreen معين أم وعلي يمين هذا الاختيار ستجد Button مكتوب علي View Application Events وهذا Button هو ما بهمنا تحديدا ولكن قبل الضغط علي هذا الباتون لنري ما يخفي خلفه لنضيف الي المشروع SplashScreen وكلنا يعلم كيف يفعل ذلك ولمن لا يعلم يمكن ذلك من نافذة Project واختيار Add New Item وهنا سوف تفتح نافذة يمكننا من خلالها أن نضيف SplashScreen الي المشروع ويمكن عمل نفس الشئ لو وقفنا بالماوس علي اسم المشروع من نافذة Solution Explorer ثم ضغطنا يمين الماوس واخترنا أيضا Add ثم اخترنا New Item المهم أن نضيف SplashScreen الي المشروع الأن قم بربط SplashScreen الي المشروع وذلك يتم من نافذة Properties الخاصة بالمشروع عموما كما أسلفنا الأن قم باستعراض الملفات الموجودة تحت نافذة Solution Explorer ستري وتحديدا من تحت الملف Application.myapp قم باختيار الملف Application.Designer.vb ستجد أنك بمجرد أن قمت بربط SplashScreen الي البرنامج قد تم إضافة الكود التالي الي ملف Application.Designer.vb كود : <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ كود : <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ أعتقد الفكره نجحت ......... أنت الأن سعيد جدا لأن splashScreen تأخذ الوقت الذي أنت حددته لعرضها علي الشاشة انتظر الأمر لم ينتهي حقيقة إن الامر تاجح حتي الأن ولكنه غير مكتمل تماما مثلا لو قمت بإيقاف أو بإلغاء ربط SplashScreen بالبرنامج سيختفي كل الكود المكتوب أعلاه إذن أنت تحتاج أن تقوم بتعديل الكود في كل مرة تقوم فيها بإلغاء ارتباط SplashScreen بالبرنامج ما هو احل غذن لتفادي ذلك الحل في الباتون الموجود داخل نافذة Properties الخاصة بالبرنامج وهو المكتوب عليه View Application Events لو ضغطت علي هذا الباتون سيفتح لك نافذة ستجد بها الكود التالي كود : Namespace My إن ما يهمنا تحديدا هو Function OnInitialize قم بعمل Overrides لهذه Function فيصبح الكود كالأتي كود : Namespace My كود : Namespace My الأن قم بتشغيل البرنامج ستجد ان SplashScreen قد أخذت المدة التي حددتها وهي 20 ثانية الأن قم بايقاف ارتباط SplashScreen بالبرنامج وقم بتشغيله أكيد تتوقع حدوث خطا Error كلا لن يحدث أي خطا إذن تستطيع تحديد القيمة التي تريدها سواء قمت بربط SplashSCreen بالبرنامج أم لا. أيضا إن تنفيذ كل ما تحدثنا عنه لا يأخذ الا ثواني معدوده لتنفيذه يعني الموضوع بسيط جدا جدا شئ أخير لا تنسي أن SplashScreen ماهي إلا Form مثل أي Form أخر أي أنك يمكن أن تغير في شكله ومظهره وحتي تقوم برسم أي شئ داخله وحتي تقوم بإعطاء مستخدم البرنامج امكانية تحريكه أثناء عرضه علي الشاشه وفي المثال المرفق قمت ببعض التعديلات لإعطاء فكرة عن كيفية عمل ذلك ملحوظة: أرجو أن لا تجعل قيمة عرض SplashScreen نصف ساعة مثلا ...........مش عايزين مستخدمي البرامج يزهقوا أو يهربوا مننا .......... رحمة بمستخدمي البرامج يا مبرمجين ملحوظة أخري ولكن أهم كثيرا حاول أن تتعرف وتدرس كل ما هو موجود داخل البرنامج الذي تصممه النسخة المستخدمة الفيجوال استوديو 2008 اللغة المستخدمة الفيجوال بيسك دوت نت يمكنك انزال المثال من الرابط التالي http://vb4arb.com/vb/uploaded/18_01349423627.zip أتمني لكم النوفيق وكل عام وأنتم بخير بمناسبة عيد الفطر المبارك أخوكم عمر |