PDA

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



MOR_MS
دوشنبه 16 تیر 1393, 01:53 صبح
با سلام من یک منو تو برنامه دارم و میخوام نام تمام ایتمهای این منو رو بدست بیارم
با این کد فقط عنوانهای این ایتم بدست میاد و زیر منوها رو نمی تونم بدست بیارم
طبق تصوی نام قسمت مشکی با این کد بدست میاد ولی قسمتهای قرمز و زرد مشکل دارم
120839


Sub controlB4(ByVal tool As MenuStrip)
Dim item As ToolStripMenuItem
For Each item In tool.Items

MsgBox(item.Name)
Next item
End Sub

gilsoft
دوشنبه 16 تیر 1393, 07:45 صبح
با سلام من یک منو تو برنامه دارم و میخوام نام تمام ایتمهای این منو رو بدست بیارم
با این کد فقط عنوانهای این ایتم بدست میاد و زیر منوها رو نمی تونم بدست بیارم
طبق تصوی نام قسمت مشکی با این کد بدست میاد ولی قسمتهای قرمز و زرد مشکل دارم
120839



Sub controlB4(ByVal tool As MenuStrip)
Dim item As ToolStripMenuItem
For Each item In tool.Items


MsgBox(item.Name)
Next item
End Sub



سلام دوست عزیز
Function GetMenuStripItems(ByVal ms As MenuStrip) As String()
Dim value() As String = Nothing
Dim cnt As Byte = ms.Items.Count
If cnt > 0 Then
ReDim value(cnt)
For i As Byte = 0 To cnt - 1
value(i) = ms.Items(i).Text
Next
End If
Return value
End Function


Function GetMenuStripItems(ByVal tsmi As ToolStripMenuItem) As String()
Dim value() As String = Nothing
Dim cnt As Byte = tsmi.DropDownItems.Count
If cnt > 0 Then
ReDim value(cnt)
For i As Byte = 0 To cnt - 1
value(i) = tsmi.DropDownItems(i).Text
Next
End If
Return value
End Function

اینم نحوه فراخوانی توابع :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim items As String()

items = GetMenuStripItems(MenuStrip1)
For Each mItem In items
Console.WriteLine("{0}", mItem)
Next


items = GetMenuStripItems(MenuStrip1.Items(0))
For Each mItem In items
Console.WriteLine("{0}", mItem)
Next
End Sub

موفق باشید ...