PDA

View Full Version : عدم دسترسی به تمامی آیتمهای منو



mehdi58
یک شنبه 07 مرداد 1386, 21:54 عصر
با سلام
چرا با توجه به کد زیر فقط هر کدام از آیتمهای اصلی یک منو بررسی می شه و گزینه های موجود در زیر هر کدوم از آیتمهای اصلی بررسی نمی شن ؟ ( با اینکه اونها هم یه MenuItem هستن )
Dim ctl as Controls
For each ctl in MainMenu1.MenuItem
If Type of ctl IS MenuItem Then
……………….
……………….
……………….
……………….

END If
Next

با تشکر

saeed_rezaei
یک شنبه 07 مرداد 1386, 23:03 عصر
بهتره که از توابع بازگشتی جهت پیمایش تمامی منوهاتون استفاده کنید.
نمونه کد زیر، تعداد منوهاتون رو می شماره وهمچنین اسم تک تک اونها رو می نویسه.



PublicFunction countmenuitem(ByVal t As ToolStripMenuItem) AsInteger
Dim i AsInteger = 1
Dim ctl As ToolStripMenuItem
ForEach ctl In t.DropDownItems
If (ctl.HasDropDownItems) Then
MsgBox(ctl.Text)
i += countmenuitem(ctl)
Else
MsgBox(ctl.Text)
i += 1
EndIf
Next
Return i
EndFunction
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ctl As ToolStripItem
Dim m AsInteger = 0
ForEach ctl In MenuStrip1.Items
m += countmenuitem(ctl)
Next
MsgBox("cont of menu :=" & m)
EndSub