• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

zephirus

[Resolvido] Adicionar submenus a menu já existente

5 mensagens neste tópico

Olá,

Estou mais ou menos à vontade na criação e manipulação de menus em VB.NET, no entanto há uma coisa que não estou a conseguir fazer e já procurei informação e até agora nada.

O meu código tem uma parte onde eu crio menus e sub-menus dinamicamente dentro de um ciclo.

Os items que quero criar estão numa listview.

Exemplo da listview:

  col1 col2

1. aaa  xxx

2. bbb  xxx

3. ccc  zzz

4. ddd  zzz

5. eee  xxx

6. fff  zzz

Ora, dentro do meu ciclo que neste exemplo seria de 1 a 6 (número de items da listview), eu quero fazer a seguinte estrutura de menus:

xxx

|

aaa

bbb

eee

zzz

|

ccc

ddd

fff

... ou seja, criar submenus dentro dos grupos (xxx ou zzz). O problema é: como criar um submenu dentro de um menu que já existe?

Alguém me pode ajudar? Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Penso que tenhas que fazer um ciclo, e em cada "pai", adicionar os menus... esta á a ideia... eu tenho codigo para isso....em que n menus...sao carregados a partir da base de dados....

MAs é bue complexo e adoptado ao meu exemplo...

Para já, os menus terão que ter um campo que indique qual é o menu pai e por ai fora... a partir daí é feito recursivamente...

É só uma ideia.. qq coisa diz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que eu quero adicionar ao menu já existente. Havendo já um menu xxx, onde adiciono aaa' eu não quero depois criar outro para adicionar bbb, mas sim adicionar o subitem bbb a esse xxx já criado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apenas em resolução do problema que tens (como aliás pedes), não escrevendo o ciclo para fazer isso com base numa ListView, e apenas para perceberes, aqui tens uma solução rudimentar:

        MenuStrip1.Items.Add("LOL")
        MenuStrip1.Items.Add("LOL1")
        MenuStrip1.Items.Add("LOL2")

        For Each MI As ToolStripMenuItem In MenuStrip1.Items
            Select Case MI.Text

                Case "LOL"
                    MI.DropDownItems.Add(MI.Text & " - LOLIX")
                Case "LOL1"
                    MI.DropDownItems.Add(MI.Text & " - LOLADEIRA")
                Case "LOL2"
                    MI.DropDownItems.Add(MI.Text & " - LOLADA")

            End Select
        Next

Deve dar para tirares algumas conclusões.  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, ribeiro55. Acho que essa ideia me vai ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora