Forums Últimos mensajes - Powered by IBM
 

Pasar de una estructura de arbol a menu.

07/04/2006 - 18:33 por David Sans | Informe spam
Hola grupo.

Estoy intentando pasar de una estructura de árbol a una estructura de menú y no lo consigo que me genere los menús en estructura de
árbol

si el arbol es así:
Ficheros
Abrir
Plantilla
Archivo
cerrar
Ayuda
Acercade
Ayuda rapida


El menu sale asi:
fichero Abrir Ayuda
Abrir Plantilla Acercade
cerrar Archivo Ayuda rapida


Pongo un poco de código a ver si alguien me indica donde esta el fallo.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
MenuStrip1.Items.Clear()
Dim n As TreeNode
For Each n In TreeView1.Nodes
CrearNodosAMenu(n)
Next
End Sub

Private Sub CrearNodosAMenu(ByVal Nodo As TreeNode)
Dim ElementsMenu As New ToolStripMenuItem(Nodo.Text)
Dim n As TreeNode
For Each n In Nodo.Nodes
ElementsMenu.DropDownItems.Add(n.Text)
CrearNodosAMenu(n)
Next
If Nodo.Nodes.Count > 0 Then
MenuStrip1.Items.Add(ElementsMenu)
End If
End Sub

Muchas gracias y un Saludo
David Sans
 

Leer las respuestas

#1 David Sans
21/04/2006 - 21:32 | Informe spam
Hola Grupo.

Ya he dado con la solución.

Aquí val el código para quien le intereses.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
MenuStrip1.Items.Clear()
Dim n As TreeNode
For Each n In TreeView1.Nodes
MenuStrip1.Items.Add(RetornarMenu(b))
Next
End Sub

Private Function RetornarMenu(ByVal nodo As TreeNode) As ToolStripMenuItem
Dim ElementosDelMenu As New ToolStripMenuItem
ElementosDelMenu.Text = nodo.Text
ElementosDelMenu.Enabled = nodo.Checked
Dim n As TreeNode
For Each n In nodo.Nodes
ElementosDelMenu.DropDownItems.Add(RetornarMenu(n))
Next
Return ElementosDelMenu
End Function


Un Saludo.
David Sans



"David Sans" <listas@[QUITAESTO]socaqui.com> escribió en el mensaje news:
Hola grupo.

Estoy intentando pasar de una estructura de árbol a una estructura de menú y no lo consigo que me genere los menús en estructura
de
árbol

si el arbol es así:
Ficheros
Abrir
Plantilla
Archivo
cerrar
Ayuda
Acercade
Ayuda rapida


El menu sale asi:
fichero Abrir Ayuda
Abrir Plantilla Acercade
cerrar Archivo Ayuda rapida


Pongo un poco de código a ver si alguien me indica donde esta el fallo.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
MenuStrip1.Items.Clear()
Dim n As TreeNode
For Each n In TreeView1.Nodes
CrearNodosAMenu(n)
Next
End Sub

Private Sub CrearNodosAMenu(ByVal Nodo As TreeNode)
Dim ElementsMenu As New ToolStripMenuItem(Nodo.Text)
Dim n As TreeNode
For Each n In Nodo.Nodes
ElementsMenu.DropDownItems.Add(n.Text)
CrearNodosAMenu(n)
Next
If Nodo.Nodes.Count > 0 Then
MenuStrip1.Items.Add(ElementsMenu)
End If
End Sub

Muchas gracias y un Saludo
David Sans


Preguntas similares