منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : وضع إسم الفورم و إسم البانيل في متغير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم



في إطار فهم بعض أكواد برمجة اللعاب


هل ممكن أن أضع إسم الفورم و إسم البانيل في متغير



بعد بحث طويل وجدت أحد الأكواد إجتهدت قليلا لكن لم ينجح الأمر

كود :
      Dim obj As Object = Activator.CreateInstance(Type.GetType("TEST." & Form.ActiveForm.Name))



       Dim _form As Form = CType(obj, Form)

   

       Dim _panel = _form.Controls.Item("Panel1")
مرحباً اخى sniperjawadino

قد لا اكون على استوعاب كامل لما تريد فعله
ولكن بنظرياً لما تمكنت من فهمه فى موضوعك فبكل ما يمكنك ان افيدك

ان تستخدم هذا الـ Function 
كود :
   Function EControls(ByRef c As Panel) As Form
       For Each e As Control In c.Controls
           If e.Focused Then
               e.Text = Nothing
           End If
       Next
       Return Nothing
   End Function

وتعال فى مكان الحدث المراد تنفيذ الكود به واستخدم الكود بهذا الشكل
كود :
       EControls(Panel1)

بكده كل ما هو فى اطار Panel1 عندما يكون التركيز على اداء محدد سيتم تفريغ النص به
اتمنى ان يكون هذا الكود المطلوب 

تحياتى لك
وتمنياتى لك التوفيق
شكرا على الرد
هذه هي الفكرة أخي الكريم فقط قد يكون Panel  أيضا في فورم آخر 
ممكن إضافى متغير لاسم الفورم ؟؟؟؟
Function EControls(ByRef c As Panel) As Form



شكرا شكرا شكرا
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
ممكن إضافى متغير لإسم الفورم ؟؟؟؟

Function EControls(ByRef c As Panel) As Form

قد يكون Panel  أيضا في فورم آخر 

أعتذر على الإزعاج
لا تحتاج لذذلك اخى الحبيب يكفى فى الحدث
يكون الامر على هذا النحو
كود :
       EControls(Form1.Panel1)

وبكده تكون تم تطبيق الامر على Form1 بينما زر الحدث مثلاُ فى Form2

تحياتى لك
وتمنياتى لك التوفيق
والله أعذرني على ما أتعبتك فيه لمساعدتي
فقط أريد أن تفهم قصدي
وهو عدم معرفتي باسم الفورم حتى أكتبه   هل هو Form1    أو     Form2   أو   Form3 ......
لذلك أريد وضع إسم الفورم في متغير

مشروعي الصغير هو مثل كيبورد
فعند الضغط على أي زر يجب أن أعرف اسم الفورم المفتوح و أضعه في الكود الذي كتبته لي

لقد ساعدني أحد الأخوة جزاه الله كل خير في إيجاد الكود المناسب في منتدى نقطة التطور

حتى يستفيد الإخوة 

كود :
Dim x0 As Form = Form1 ' متغير للفورم
Dim x1 As Panel = Form1.Panel1 ' متغير للبانل
'Dim obj As Object() = {x0, x1} ' متغير صفيف من نوع اوبجكت يجمع الاثنين
For Each c0 As Control In x1.Controls ' سياخذ لفه ع جميع الادوات داخل البانل
   MsgBox(c0.Name)
Next

'Dim f As Form = DirectCast(obj(0), Form)
'MsgBox(f.Name)

'Dim p As Panel = DirectCast(obj(1), Panel)
'MsgBox(p.Name)


جزاك الله كل خير على مساعدتك أخي [b]elgokr[/b]