![]() |
|
إيجاد جميع الكونترول الموجودة في الفورم Recursively Find All Controls in Form - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : إيجاد جميع الكونترول الموجودة في الفورم Recursively Find All Controls in Form (/showthread.php?tid=12366) |
إيجاد جميع الكونترول الموجودة في الفورم Recursively Find All Controls in Form - silverlight - 26-05-15 [rtl]السلام عليكم و رحمة الله وبركاته مقدمة: أحد اهم الاسئلة الشائعة في النت هو كيف أمسح جميع التكست الموجود في مجموعة من التكست بوكس كونترول الموجودة علي الفورم؟ [/rtl] [rtl] [/rtl] [rtl]بالتأكيد جميع الاجابات التي سوف تجدها علي النت هي إجابات صحيحية و مناسبة لكن يتبقي السؤال ماذا لو كان هذا التكست بوكس ليس موجودا بشكل مباشر علي الفورم نفسه بل موجودا داخل كونترول أخر مثل Panel أو مثل GroupBox أو مثل TabControl ؟ الإجابة علي مثل هذا السؤال تنحصر في كلمة واحدة و هي Recursion وهنا قد يتبارد الي ذهن البعض ما هو تعريف هذا الشئ الذي نطلق عليه Recursion ؟ تعريف Recursion هو أن تقوم الدالة Function او الروتين Sub او الطريقة Method بإستدعاء نفسها من داخل نفسها [/rtl] [rtl]وهذا يعني أننا هنا نقوم بعمل Looping بدون استخدام جمل برمجية مثل For .... Next او For .... Each[/rtl] [rtl]أي أن Recursion وببساطة شديدة هو شئ عكس كلمة Iteration أو بشكل أكثر دقة فإن Recursion هو عبارة عن محاولة إيجاد حل لمشكلة رئيسية Main Problem و ايضا إيجاد حلول لجميع المشاكل الفرعية Minor Problems المتصلة بالمشكلة الرئيسية ..... مع الوضع في الاعتبار أن المشكلتان من نفس النوعية مثال توضيحي : عندما تحاول أن تجد جميع الكونترول علي الفورم فأنت هنا تحاول إيجاد حل لمشكلة رئيسية و عندما تحاول أن تبحث داخل بقية الكونترول الاخري علي الفورم فانت هنا تحاول إيجاد حل لمشكلة فرعية و لكنها من نفس نوعية المشكلة الرئيسية. الكود اتالي يوضح الفكرة بشكل أفضل من الحديث النظري الكود: لقد قمت باستخدام HashSet(Of T) Class لأنه لا يكرر المدخلات و يمكن استخدام اي Collection مناسبة بدلا منه[/rtl] [rtl] في الكود أدناه ستجدون طريقتان لكيفية استرجاع جميع الكونترول الموجودة علي الفورم [/rtl] الطريقة الأولي: كود : ' Method 1الطريقة الثانية: كود : ' Method 2[rtl]كيفية استخدام الكود: [/rtl] [rtl] [/rtl] كود : ' Method 1 Usage[rtl] [/rtl] [rtl]المرفقات[/rtl] المرفقات ستجدون ملف به جميع الأكواد السابقة المراجع: HashSet Class تقبلوا تحياتي و بالتوفيق للجميع |