Jump to content

Recommended Posts

Posted

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

Posted

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

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Posted

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.

Posted

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.  😄

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.