21/12/2010, 10:06
|
| | Fecha de Ingreso: enero-2009
Mensajes: 17
Antigüedad: 15 años, 10 meses Puntos: 0 | |
Respuesta: Cargar menu en treeview Bueno, encontre una solución a mi problema pero como no todo es bueno, no me sale jerarquicamente. alguien puede ayudarme.
aca mi código.
Private Sub LlenaMenu()
trwAcceso.Nodes.Clear()
trwAcceso.Nodes.Add("0", "Ninguno")
Dim Nodx As TreeNode
Dim Smenu As String
Nodx = New TreeNode("Todos")
Nodx.Name = "1"
For Each mnuItem As ToolStripMenuItem In MDIPrincipal.MenuStrip.Items
Smenu = Replace(mnuItem.Text, "&", "", 1, Len(mnuItem.Text))
If mnuItem.DropDownItems.Count > 0 Then
Nodx = RecorrerSubmenu(mnuItem.DropDownItems, Nodx)
End If
Nodx.Nodes.Add(mnuItem.Name, Smenu)
Next
trwAcceso.Nodes.Add(Nodx)
End Sub
Private Function RecorrerSubmenu(ByVal oSubmenuItems As ToolStripItemCollection, ByVal nodo As TreeNode) As TreeNode
Dim NomMenu As String
Dim cantNodo As Integer
cantNodo = oSubmenuItems.Count
Dim oSubitem As Object
For i As Integer = 0 To cantNodo - 1
oSubitem = oSubmenuItems(i)
If oSubitem.GetType Is GetType(ToolStripMenuItem) Then
If oSubitem.DropDownItems.Count > 0 Then
Return RecorrerSubmenu(oSubitem.DropDownItems, nodo)
Else
NomMenu = Replace(oSubitem.Text, "&", "", 1, Len(oSubitem.Text))
nodo.Nodes.Add(oSubitem.Name, NomMenu)
End If
End If
Next
Return nodo
End Function |