الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن me.controls

مغلق
بدأه mostbar في 15 يونيو 2005 · 2 رد · 494 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله و الحمد لله و الصلاة و السلام على رسول الله .., و بعد . السلام عليكم ورحمة الله وبركاته ..

تواجهني مشكلة صغيرة أرجو من الاخوان أن يساعدوني في حلها ألا و هي أني أريد تجميع كل الاداوت الموجودة في الفورم لمقارنتها و انتقاء بعضها للقيام ببعض العمليات عليه .. كما كان سيفعل أي مبرمج مبتدئ(مثلي :D ) استخدمت خاصية Controls الموجودة في خصائص النموذج لايجاد الادوات ..

Dim x As Control
        For Each x In Me.Controls
            If x.GetType.ToString = "System.Windows.Forms.ComboBox" Then
                x.Text = "OK"
            End If
        Next

بهذا الكود استطعت ان اجمع كل ادوات النموذج ثم بدوران بسيط تمكنت من انتقاء الكمبو بوكس منها ..

و هذا الكود يعمل 100 % في الحالات العادية .. لكن ماذا لو كان عندك combobox موضوع داخل GroupBox على سبيل التنظيم .. ستجد شيئا غريبا ,, ان الـ VB لم يعتبر الكائن الموجود داخل الجروب بوكس من ادوات الفورم .. بل اعتبره من أدوات الجروب بوكس !!

و لم أستطع أن اتحكم في الكائنات داخل الجروب بوكس .,

فهل من حل يتيح لي تجميع كل ما في الفورم او داخل ادواته ( مثل الجروب بوكس,... ) من ادوات أخرى.

و جزاكم الله خيرا ..

و السلام عليكم ورحمة الله وبركاته

#2

:D

السلام عليكم

      Public Shared Function ClearControlInGroupBox(ByVal Forms As System.Windows.Forms.ContainerControl, ByVal FocusTxt As TextBox)
        For Each txt As Control In Forms.Controls
            If TypeOf txt Is GroupBox Then
                For Each thistxt As Control In Forms.Controls
                    If TypeOf thistxt Is TextBox Then
                        thistxt.Text = ""
                    End If
                Next
            End If
        Next
    End Function

شوف الكود دة انا بمسح البيانات الموجودة بداخل TextBox لو كان فى GroupBox

ضيف الكود السابق فى موديول او كلاس

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#3

جزاك الله خيرا أخ محمد ..

قربتني كثيرا للحل و أظن أن الكود بالشكل التالي يقوم بالمهمة على أكمل وجه

Dim ThisTxt, Txt As Control
        For Each txt In Me.Controls
            If TypeOf (txt) Is ComboBox Then
                txt.Text = "OK"
            End If
            If TypeOf txt Is GroupBox Then
                For Each ThisTxt In Txt.Controls
                    If TypeOf ThisTxt Is ComboBox Then
                        ThisTxt.Text = "OK"
                    End If
                Next
            End If

        Next

و جزاكم الله خيرا ..

هذا الموضوع مغلق.

مواضيع مشابهة