09-08-22, 01:08 AM
(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ولكن بشرط أن تضيفها حلقة داخل حلقة .. فكل حلقة تنزل درجة .
لكن لازم يكون هناك كود بإمكانه قراءة كل الفروع مهما كانت درجتها دون الحاجة لإضافة القوائم دون الحاجة للتعديل على الكود إضافة حلقة داخلية أخرى ..
مثل مبدأ شغل الشجرة ما يُهمها هو مفتاح عنصر الأب لتضيف له إبن .. فمهما كانت درجته لا تشترط عليك تحديد إضافة حلقة جديدة لإضافته كأب أو إبن أو حفيد سوى الترتيب بالإضافة فقط.
..
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
