تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب عناصر قائمة فرعية في MenuStrip
#1
السلام عليكم ورحمة اله وبركاته
اخوتي الكرام
اعمل حاليا على  برنامج انشاء ادوات desktop Application للغة Python اعتمادا على فيجوال ستوديو
بحيث نرسم ونضع مانريد من ادوات ثم يتم تحويلها الى ملف بلغة البايثون
كل الامور تسير بشكل ممتاز لكن واجهتني عقبة صغيرة لم اجد لها حلا
في المثال التالي لدي فورم وفيها menuStrip وفيه قوائم وكل قائمة فيها بنود ويمكن ان يكون احد البنود يحتوي على قائمة فرعية كما موضح في الصورة
قمت بكتابة كود جلب اسماء القوائم وبنود كل قائمة وتم ذلك لكنني لم استطع جلب القائمة الفرعية وبنودها 
والمطلوب كود حلقة فور على البنود فيما لو كانت تحتوي على قائمة فرعية وجلب بنودها 
اتمنى ان يكون الشرح واضح

  


الملفات المرفقة صورة/صور
   

.zip   MenuStrip.zip (الحجم : 87.47 ك ب / التحميلات : 13)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: asmarsou , جيولوجي مبتدئ , سعود , سعود
#2
(07-08-22, 06:59 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة اله وبركاته
اخوتي الكرام
اعمل حاليا على  برنامج انشاء ادوات desktop Application للغة Python اعتمادا على فيجوال ستوديو
بحيث نرسم ونضع مانريد من ادوات ثم يتم تحويلها الى ملف بلغة البايثون
كل الامور تسير بشكل ممتاز لكن واجهتني عقبة صغيرة لم اجد لها حلا
في المثال التالي لدي فورم وفيها menuStrip وفيه قوائم وكل قائمة فيها بنود ويمكن ان يكون احد البنود يحتوي على قائمة فرعية كما موضح في الصورة
قمت بكتابة كود جلب اسماء القوائم وبنود كل قائمة وتم ذلك لكنني لم استطع جلب القائمة الفرعية وبنودها 
والمطلوب كود حلقة فور على البنود فيما لو كانت تحتوي على قائمة فرعية وجلب بنودها 
اتمنى ان يكون الشرح واضح

  
  تفضل استاذي الكريم انتظر التقييم تقييم الاستاذ لطلابه

(07-08-22, 08:21 PM)asmarsou كتب :
(07-08-22, 06:59 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة اله وبركاته
اخوتي الكرام
اعمل حاليا على  برنامج انشاء ادوات desktop Application للغة Python اعتمادا على فيجوال ستوديو
بحيث نرسم ونضع مانريد من ادوات ثم يتم تحويلها الى ملف بلغة البايثون
كل الامور تسير بشكل ممتاز لكن واجهتني عقبة صغيرة لم اجد لها حلا
في المثال التالي لدي فورم وفيها menuStrip وفيه قوائم وكل قائمة فيها بنود ويمكن ان يكون احد البنود يحتوي على قائمة فرعية كما موضح في الصورة
قمت بكتابة كود جلب اسماء القوائم وبنود كل قائمة وتم ذلك لكنني لم استطع جلب القائمة الفرعية وبنودها 
والمطلوب كود حلقة فور على البنود فيما لو كانت تحتوي على قائمة فرعية وجلب بنودها 
اتمنى ان يكون الشرح واضح

  
  تفضل استاذي الكريم انتظر التقييم تقييم الاستاذ لطلابه
و هذا الرابط الذي تمت منه الاضافة
https://social.msdn.microsoft.com/Forums...=vbgeneral


الملفات المرفقة
.rar   الاستاذ ابراهيم ايبو.rar (الحجم : 83.72 ك ب / التحميلات : 13)
الرد }}}
#3
السلام عليكم ورحمة الله وبركاته
اخي الكريم Asmarsou
اولا بارك الله فيك ولك 
ثانيا شكرا لك على الاطراء الجميل وهذا من ذوقك الرفيع
ثالثا كلنا نمر في معوقات برمجية بالرغم من أن الكود يكون قريبا منا لكننا نتوه احيانا عنه
واخيرا اقول ليس علم الاستاذ هو نهاية العلم بل هو جزء يسير منه وكل طالب علم مخلص يقينا سوف يتخطى ماتعلمه من اساتذته بفضل الله واجتهاده ومثابرته 
واعمال عقله وخزينته العلمية وهذا هو ايضا مبدئي وانت ياأخي asmarsou من المثابرين والمتابعين والمتفانين 
وادعو الله ان ينير لك طريقك البرمجي ونراك في مصاف المبرمجين ان شاء الله
سأعدل الكود حتر يناسب ماأنا بصدده
شكرا لك مرة أخرى

الان اصبح الكود على النحو التالي
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       For Each mainmenu As ToolStripMenuItem In Me.MenuStrip1.Items
           ' اسماء القوائم
           ListBox1.Items.Add(mainmenu.Text)

           For Each item As ToolStripItem In mainmenu.DropDownItems
               ' اسماء البنود في الوائم
               If item.Text = "" Then
                   item.Text = "-------------"
               End If
               ListBox2.Items.Add(item.Text)

               If TypeOf (item) Is ToolStripMenuItem Then
                   For Each menu As ToolStripItem In DirectCast(item, ToolStripMenuItem).DropDownItems
                     
                       ListBox3.Items.Add(menu.Text)
                   Next
               End If
           Next

       Next
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#4
(07-08-22, 08:59 PM)ابراهيم ايبو كتب :
السلام عليكم ورحمة الله وبركاته
اخي الكريم Asmarsou
اولا بارك الله فيك ولك 
ثانيا شكرا لك على الاطراء الجميل وهذا من ذوقك الرفيع
ثالثا كلنا نمر في معوقات برمجية بالرغم من أن الكود يكون قريبا منا لكننا نتوه احيانا عنه
واخيرا اقول ليس علم الاستاذ هو نهاية العلم بل هو جزء يسير منه وكل طالب علم مخلص يقينا سوف يتخطى ماتعلمه من اساتذته بفضل الله واجتهاده ومثابرته 
واعمال عقله وخزينته العلمية وهذا هو ايضا مبدئي وانت ياأخي asmarsou من المثابرين والمتابعين والمتفانين 
وادعو الله ان ينير لك طريقك البرمجي ونراك في مصاف المبرمجين ان شاء الله
سأعدل الكود حتر يناسب ماأنا بصدده
شكرا لك مرة أخرى

الان اصبح الكود على النحو التالي
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       For Each mainmenu As ToolStripMenuItem In Me.MenuStrip1.Items
           ' اسماء القوائم
           ListBox1.Items.Add(mainmenu.Text)

           For Each item As ToolStripItem In mainmenu.DropDownItems
               ' اسماء البنود في الوائم
               If item.Text = "" Then
                   item.Text = "-------------"
               End If
               ListBox2.Items.Add(item.Text)

               If TypeOf (item) Is ToolStripMenuItem Then
                   For Each menu As ToolStripItem In DirectCast(item, ToolStripMenuItem).DropDownItems
                     
                       ListBox3.Items.Add(menu.Text)
                   Next
               End If
           Next

       Next
   End Sub
و فيك بارك الله استاذ

(07-08-22, 08:59 PM)ابراهيم ايبو كتب :
السلام عليكم ورحمة الله وبركاته
اخي الكريم Asmarsou
اولا بارك الله فيك ولك 
ثانيا شكرا لك على الاطراء الجميل وهذا من ذوقك الرفيع
ثالثا كلنا نمر في معوقات برمجية بالرغم من أن الكود يكون قريبا منا لكننا نتوه احيانا عنه
واخيرا اقول ليس علم الاستاذ هو نهاية العلم بل هو جزء يسير منه وكل طالب علم مخلص يقينا سوف يتخطى ماتعلمه من اساتذته بفضل الله واجتهاده ومثابرته 
واعمال عقله وخزينته العلمية وهذا هو ايضا مبدئي وانت ياأخي asmarsou من المثابرين والمتابعين والمتفانين 
وادعو الله ان ينير لك طريقك البرمجي ونراك في مصاف المبرمجين ان شاء الله
سأعدل الكود حتر يناسب ماأنا بصدده
شكرا لك مرة أخرى

الان اصبح الكود على النحو التالي
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       For Each mainmenu As ToolStripMenuItem In Me.MenuStrip1.Items
           ' اسماء القوائم
           ListBox1.Items.Add(mainmenu.Text)

           For Each item As ToolStripItem In mainmenu.DropDownItems
               ' اسماء البنود في الوائم
               If item.Text = "" Then
                   item.Text = "-------------"
               End If
               ListBox2.Items.Add(item.Text)

               If TypeOf (item) Is ToolStripMenuItem Then
                   For Each menu As ToolStripItem In DirectCast(item, ToolStripMenuItem).DropDownItems
                     
                       ListBox3.Items.Add(menu.Text)
                   Next
               End If
           Next

       Next
   End Sub
و فيك بارك الله استاذ
الرد }}}
#5
(07-08-22, 08:59 PM)ابراهيم ايبو كتب :
السلام عليكم ورحمة الله وبركاته
اخي الكريم Asmarsou
اولا بارك الله فيك ولك 
ثانيا شكرا لك على الاطراء الجميل وهذا من ذوقك الرفيع
ثالثا كلنا نمر في معوقات برمجية بالرغم من أن الكود يكون قريبا منا لكننا نتوه احيانا عنه
واخيرا اقول ليس علم الاستاذ هو نهاية العلم بل هو جزء يسير منه وكل طالب علم مخلص يقينا سوف يتخطى ماتعلمه من اساتذته بفضل الله واجتهاده ومثابرته 
واعمال عقله وخزينته العلمية وهذا هو ايضا مبدئي وانت ياأخي asmarsou من المثابرين والمتابعين والمتفانين 
وادعو الله ان ينير لك طريقك البرمجي ونراك في مصاف المبرمجين ان شاء الله
سأعدل الكود حتر يناسب ماأنا بصدده
شكرا لك مرة أخرى

الان اصبح الكود على النحو التالي
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       For Each mainmenu As ToolStripMenuItem In Me.MenuStrip1.Items
           ' اسماء القوائم
           ListBox1.Items.Add(mainmenu.Text)

           For Each item As ToolStripItem In mainmenu.DropDownItems
               ' اسماء البنود في الوائم
               If item.Text = "" Then
                   item.Text = "-------------"
               End If
               ListBox2.Items.Add(item.Text)

               If TypeOf (item) Is ToolStripMenuItem Then
                   For Each menu As ToolStripItem In DirectCast(item, ToolStripMenuItem).DropDownItems
                     
                       ListBox3.Items.Add(menu.Text)
                   Next
               End If
           Next

       Next
   End Sub


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

الجمالية في الكود التالي بإنه إمكانك إضافة القوائم الفرعية مهما كانت درجتها  :
كود :
              If TypeOf (item) Is ToolStripMenuItem Then
                  For Each menu As ToolStripItem In DirectCast(item, ToolStripMenuItem).DropDownItems
                   
                      ListBox3.Items.Add(menu.Text)
                  Next
              End If

ولكن بشرط أن تضيفها حلقة داخل حلقة ..  فكل حلقة تنزل درجة .

لكن لازم يكون هناك كود بإمكانه قراءة كل الفروع مهما كانت درجتها دون الحاجة لإضافة القوائم دون الحاجة للتعديل على الكود إضافة حلقة داخلية أخرى ..
مثل مبدأ شغل الشجرة  ما يُهمها هو مفتاح عنصر الأب لتضيف له إبن .. فمهما كانت درجته لا تشترط عليك تحديد إضافة حلقة جديدة لإضافته كأب أو إبن أو حفيد سوى الترتيب بالإضافة فقط.

..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: asmarsou , ابراهيم ايبو , مين , ahmed_king2023


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحميل قائمة فيديوهات كاملة من اليوتيوب dr.programming 1 157 06-12-25, 02:26 AM
آخر رد: princelovelorn
  كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو ahmedfa71 5 870 04-09-25, 02:59 PM
آخر رد: ahmedfa71
  [VB.NET] طلب كود vba اكسل يقوم بنسخ خلية من قائمة ثم لصقها في خلية اخرى Faisal_kg 0 366 25-10-24, 09:13 PM
آخر رد: Faisal_kg
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,155 30-09-24, 12:52 AM
آخر رد: asmarsou
  نسخ عناصر محددة من لست إلى آخر مصمم هاوي 5 443 13-05-24, 07:20 PM
آخر رد: أبو خالد الشكري
Bug [سؤال] قائمة ب اسماء برامج فك تشفير البرامج وقرائة السورسات Aymanr3b 0 514 06-09-23, 12:56 AM
آخر رد: Aymanr3b
  هل ممكن اجعل عناصر ال LISTBOX بشكل افقي ismaeel 0 612 01-05-23, 11:26 PM
آخر رد: ismaeel
  مشكلة فى اضافة عناصر فى الداتا جريد فيو خالد كامل1 14 2,266 16-02-23, 03:10 AM
آخر رد: خالد كامل1
  طباعة قائمة combobox الى ملف PDF Tajaldeen 2 859 14-02-23, 11:19 PM
آخر رد: estefsar
  اختيار عنصر معين من قائمة تتولد فيها ازار عددها متغير atefkhalf2004 16 1,792 22-01-23, 12:56 AM
آخر رد: atefkhalf2004

التنقل السريع :


يقوم بقرائة الموضوع: