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

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

عتدما اقوم باضافة ادوات الى ال panel ولهم خاصية ال dock=top
يكون فى الاعلى اول اداة تم انشائها وتحتها تانى اداه تم انشائها وهكذا ...... دائما فى الاعلى اول اداة تم انشائها 

المشكلة انه يحدث العكس  عندما اضيف ادوات الى panel  عن طريق الكود Dynamic Control يكون فى الاعلى أحدث اداة تم انشائها وتكون فى الاسفل اول اداة تم انشائها

اريد عند اضافة ادوات Dynamic Control الى ال panel 
يكون فى الاعلى اول اداة تم انشائها وتحتها تانى اداه تم انشائها وهكذا ...... دائما فى الاعلى اول اداة تم انشائها و تكون فى الاسفل   أحدث اداة تم انشائها
استخدم BringToFront بعد اضافة الاداة الى ال panel

مثل هذا الكود :

كود :
       Dim b1 As New Button
       b1.Text = "b1"
       b1.Dock = DockStyle.Top
       Panel2.Controls.Add(b1)
       b1.BringToFront()

       Dim b2 As New Button
       b2.Text = "b2"
       b2.Dock = DockStyle.Top
       Panel2.Controls.Add(b2)
       b2.BringToFront()

اما عن السبب فذلك كما يبدو هي ان البانل يعامل الكونترولات بالعكس من الاخر الى الاول ، ادخل الى كود المصمم Designer ستجده يضيف الكونترولات من الاخر الى الاول

[attachment=26085]
[attachment=26086]

فيكون الحل اذا اردنا ان نضيفهم بالترتيب ديناميكيا في الكود ان نستخدم BringToFront