Jump to content
almamater

ContextMenuStrip Index

Recommended Posts

almamater

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

Share this post


Link to post
Share on other sites
ribeiro55

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.


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"

Share this post


Link to post
Share on other sites
almamater

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

Share this post


Link to post
Share on other sites

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.