![]() |
|
إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة (/showthread.php?tid=4791) |
إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة - RaggiTech - 02-10-12 كاتب الموضوع : samerselo
- أنشئ مشروعا جديدا من النوع Windows Forms Application كي نقوم بالعمل عليه - من قائمة File ومن القائمة الفرعية ADD أضف مشروعا جديدا للمشروع الحالي من النوع Class Library وقم بتسميته TestExtendingLib في ملف الكود الخاص بالمكتبة أضف في بدايته المراجع التالية الضرورية لعمل مثالنا هنا بعد التأكد من أنك قد أضفت المراجع المناسبة لها من صفحة References من خصائص My Project كود : Imports System.Runtime.CompilerServicesكود : Public Class Class1كود : Public Module TestExtending- سأبدا بإضافة الوظيفة Alert لصندوق النصوص التي ستحول لون الخلفية له إلى الأحمر والكتابة إلى الأصفر عند استدعائها - داخل تعريف الـ Module السابق أدخل الكود التالي كود : <Extension()> _كود : <Extension()> _- من أجل التجربة انقر بزر الفأرة اليميني على تطبيق ويندوز الذي أنشأناه في البداية ثم اضغط Add Reference وأضف مرجعا للمكتبة التي أنشأناه للتو ثم أضف الاستيراد التالي في بداية كود النموذج كود : Imports TestExtendingLib.TestExtendingكود : Me.TextBox1.Text = "123.456"إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة - RaggiTech - 02-10-12 - كما ترى أضفنا لصندوق النصوص وظيفة جديدة لم تكن موجودة سابقا تسمى Alert يمكننا الاستفادة منها وتطبيقها على أي صندوق نصوص في أي مشروع نريده فقط بإضافة المكتبة والاستيراد المناسب كما رأينا سابقا كما أضفنا أيضا الوظيفة Multiply لنوع البيانات String ويمكن استخدامه أيضا في أي مشروع بنفس الطريقة - يمكننا أيضا إضافة وظيفة لـ ListBox لتفريغها وملئها ببعض البيانات مثلا بنفس الطريقة حيث يمكنك إضافة الكود التالي للمكتبة ثم عمل ReBuild لها وتجربة كيف أن صندوق القائمة أصبح يمتلك الوظيفة الجديدة كود : <Extension()> _كود : <Extension()> _إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة - RaggiTech - 02-10-12 المثال العملي على الموضوع في المرفقات إنشاء مكتبة تضيف وظائف جديدة للتحكمات الموجودة - RaggiTech - 02-10-12 تعديل بسيط أخير - غير موجود في المثال في رابط التحميل - في ملف الكود الخاص بالمكتبة TestExtendingLib فقط قم باستبدال السطر التالي في بداية الملف كود : Public Module TestExtendingكود : <Global.Microsoft.VisualBasic.HideModuleName()> _كود : Imports TestExtendingLib.TestExtendingكود : Imports TestExtendingLibطبعا بعد التعديل لاتنس عمل Rebuild للمكتبة حتى تسري التعديلات الجديدة |