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

almamater

ContextMenuStrip Index

3 mensagens neste tópico

Uma dúvida, como posso saber o "index" qdo se clica num Item dentro de um ToolStripMenuItem?

isto pq eu tenho uma variavel do tipo VariavelX em que o X é um número de 1-10 e eu precisava de associar o Index do menu seleccionado ao X da variável.. (n sei se me faço entender)

Vou criar pelo IDE o ContextMenu com 4 ToolStripMenuItem e depois vou preencher no Load do Form os 4 ToolStripMenuItem, preciso assim de saber qual do "Item" foi seleccionado dentro de cada ToolStripMenuItem.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para esse fim, terás de dar nomes teus (ou usas os que são automaticamente atribuídos).

Como existe a propriedade nome, no evento Click podes sacar o Nome para uma variável a um nível inferior.

Isto porque cada item não tem consciência do seu index (pelo menos não que eu saiba).

Se precisares mesmo do index, podes usar um ciclo "For" que percorra todos os items da colecção de ToolStripItems até achar um nome coincidente, achando consequentemente o index (através do índice do ciclo "For")

Ou então, mais fácil ainda, utilizas o IndexOf:

No evento click, mete o seguinte código para ser disparada uma messagebox com o índice do item que clicaste.

MsgBox(ContextMenuStrip1.Items.IndexOf(sender))

sender é uma variável do tipo Object que contém uma referência ao objecto que chamou o sub, neste caso o nosso botão do menu de contexto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para esse fim, terás de dar nomes teus (ou usas os que são automaticamente atribuídos).

Como existe a propriedade nome, no evento Click podes sacar o Nome para uma variável a um nível inferior.

Isto porque cada item não tem consciência do seu index (pelo menos não que eu saiba).

Se precisares mesmo do index, podes usar um ciclo "For" que percorra todos os items da colecção de ToolStripItems até achar um nome coincidente, achando consequentemente o index (através do índice do ciclo "For")

Ou então, mais fácil ainda, utilizas o IndexOf:

No evento click, mete o seguinte código para ser disparada uma messagebox com o índice do item que clicaste.

MsgBox(ContextMenuStrip1.Items.IndexOf(sender))

sender é uma variável do tipo Object que contém uma referência ao objecto que chamou o sub, neste caso o nosso botão do menu de contexto.

Ok, vou testar! Obrigado

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