السلام عليكم ورحمة الله ..
أقوم بتطوير برنامج للشركة التي أعمل بها ووجدت أنني أقوم بتكرار الكثير من الشفرات في عدد من النماذج مثل شفرة التكملة التلقائية لمربع السرد (Auto Complete) أو بعض الشفرات التي تتعلق بالـ Validation لمدخلات المستخدم مثل عنوان البريد الإلكتروني والذي يجب التأكد من كتابته بصورة صحيحة وغيرها ,وكنت قد قرأت من قبل عن تخصيص أدوات الدوت نت أو بناء أدوات خاصة بك فإتجهت الي الموضوع الأول وهو تخصيص الأدوات لانه أسهل من بناء أداة خاصة بك والذي يتطلب معرفة كبيرة بالفئة System.Drawing وغيرها فقمت بالبحث في الانترنت حتي وجدت مثالاً علي كيفية تخصيص أدوات الدوت نت .
وكانت النتيجة في النهاية مقنعة , علي الأقل بالنسبة لي فقد قمت بتخصيص مجموعة من الأدوات لكي تتناسب مع البرنامج الذي أقوم بتطويره وإليك الأدوات مع مختصر لكيفية عملها وخصائصها الإضافية التي قمت بإضافتها :
الأداة الاولي : AutoCompleteComboBox وواضح من التسمية والذي إختصر لي الكثير من الوقت والجهد المبذول لكتابة الشفرة الخاصة بالتكملة التلقائية لمربع السرد في كل نموذج علي حدا وهذه الأداة لا تختلف في خصائصها عن ال ComboBox في شئ سوي التكملة التلقائية للبيانات وهنا لا تحتاج لكتابة سطر واحد
الأداة الثانية : MaskedTextBox : أداة TextBox مع إختلاف أنك تضع شكل المدخل في الخاصية Mask كما تريد والتي استخدمها لإدخال أرقام التلفونات والتي أيضاً تكون علي شكل واحد مثلاً شكل الأرقام عندنا في الخرطوم كالتالي 604357 (83+) ولتخصيص هذه الأداة لقبول مثل هذا الشكل من المدخلات كل ماعليك هو إدخال التالي في الخاصية Mask الشكل التالي ###### (##+) حيث الرمز (#) يمثل خانة رقمية .
الأدوات التالية هي أدوات للتحقق من مدخلات المستخدم علي حسب المطلوب وهذه دعوة للأخ الغملاسي لبناء مجموعة ضخمة من الأدوات المخصصة لأني إعتمدت في بنائها علي الـ regular expressions والتي قد قام بكتابة أجمل الدروس فيها .و تشترك هذه الأدوات في خاصيتين إضافيتين
ErrorLanguage
ومنها تحدد لغة رسالة الخطأ عند إدخال بيانات خاطئة وتحتو علي لغتين العربية والإنجليزية .
IsRequiredFiled
ومنها تحدد هل هذا الحقل مطلوب .
مع ملاحظة وجود Method خاصة بكل أداة تحدد إذا كان المدخل صحيحاً أم لا , مثلاً في اداة الـ EmailTextBox توجد Method إسمها IsValidEmail والتي ترجع قيمة منطقية تحدد فيها إذا ماكان المدخل هو عنوان بريد الكتروني ,,, والتي يمكن أن تصل اليها عن طريق الكود التالي :
مثلاً اسم كائن الـ EmailTextBox في النموذج EmailTextBox1 يكون الكود :
If EmailTextBox1.IsValidEmail Then ‘Write the Code that you want to run after validate the input End IF
الأداة الثانية: CreditCardTextBox : أداة TextBox مع إختلاف أنها تقوم بالتحقق من المدخل والذي يجب أن يكون رقم لبطاقة إئتمان والتي تعتبر قياسية في فورمات أرقام البطاقة . اسم الـ Method هو IsValidCreditCard
الأداة الثالثة : DomainTextBox : أداة TextBox مع إختلاف أنها تقبل فقط اسم دومين مثل (rssudan.com) اسم الـ Method هو IsValidDomainName
الأداة الرابعة : EmailTextBox : أداة TextBox مع إختلاف أنها تقبل فقط عنوان بريد الكتروني مثل (someone@hotmail.com) . اسم الـ Method هو IsValidEmailAddress
الأداة الخامسة : IPAddressTextBox : أداة TextBox مع إختلاف أنها تقبل فقط IPAddress مثل (127.0.0.1) . اسم الـ Method هو IsValidIPAddress
الأداة السادسة : ISBNTextBox : أداة TextBox مع إختلاف أنها تقبل فقط رقم كتاب (ملحوظة بسيطة كلمة ISBN هي إختصار لـ International Standard Book Number ) , اسم الـ Method هو IsValidISBN .
الأداة السابعة : WebSiteTextBox : أداة TextBox مع إختلاف أنها تقبل فقط عنوان موقع علي الانترنت مثل (http://www.Google.com Or http://Gmail.com) , اسم الـ Method هو IsValidWebSiteAddress .
لإضافة هذه الأدوات لصندوق الأدوات : قم بعمل Tab جديدة في صندوق الأدوات وقم بتسميتها أي اسم لكي تضع الأدوات فيها ومن ثم قم بالضغط بالزر الأيمن للماوس في الـ Tab التي قمت بعملها وقم بإختيار Add/Remove Items.. ثم قم بالضغط علي Browse وقم بإختيار ملف الـ dll المرفق (AmmarLib) وقم بإضافته الي الـ Tab .
مرفق ملف الـ dll والكود الخاص بهذه الأدوات ,,,
عذراً للإطالة ... والرجاء إعطاء الرأي والذي ساستفيد منه حتماً
والله ولي التوفيق .

