Andersonjb Postado Dezembro 21, 2005 Denunciar Share Postado Dezembro 21, 2005 E ai pessoal, como faço para que quando eu clique com o Botão Direito do Mouse na DataGrid apareça um menu suspenso? Eu tentei achar um evento do click com o botao direito do mouse, mas não achei nenhum... como posso fazer isso? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 21, 2005 Denunciar Share Postado Dezembro 21, 2005 Você pode utilizar o evento MouseDown da DataGrid: If e.Button = MouseButtons.Right Then 'Se clicou no botão direito End IfCerto? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Dezembro 22, 2005 Autor Denunciar Share Postado Dezembro 22, 2005 Bem, no caso eu estou a usando para personalizar um menu na DataGrid quando eu clico com o botão direito, no caso um Context Menu. Bem, de uma olhadinha nesse código: If e.Button = MouseButtons.Right Then cmf.Show() End IfBem, era pro ContextMenu (cmf) ser mostrado, não é? Mas dá erro, porque? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 22, 2005 Denunciar Share Postado Dezembro 22, 2005 Bem, no caso eu estou a usando para personalizar um menu na DataGrid quando eu clico com o botão direito, no caso um Context Menu. Bem, de uma olhadinha nesse código: If e.Button = MouseButtons.Right Then cmf.Show() End IfBem, era pro ContextMenu (cmf) ser mostrado, não é? Mas dá erro, porque? Existe dois parâmetros a serem passados aí para o método Show, não?Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Dezembro 23, 2005 Autor Denunciar Share Postado Dezembro 23, 2005 Sim, que no caso era o control, e o pos, bem o control eu não entendi muito bem, mas o pos e a posição do mouse, não é? O que eu tenho que colocar nesses parametros? E porque eu tenho que dar parametros no metodo Show desse objeto se em outros eu não preciso disso? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 23, 2005 Denunciar Share Postado Dezembro 23, 2005 Sim, que no caso era o control, e o pos, bem o control eu não entendi muito bem, mas o pos e a posição do mouse, não é? O que eu tenho que colocar nesses parametros?O control é o controle ao qual o menu se refere. E o pos é um objeto da classe Point que indique a posição onde o menu deve aparecer.E porque eu tenho que dar parametros no metodo Show desse objeto se em outros eu não preciso disso?Não é muito útil ter um menu sem associá-lo a um controle. Afinal de contas, entre tantos objetos no form, a qual o menu se refere? E, em relação a posição, como você quer que o controle adivinhe onde vai aparecer?Sacou? Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Dezembro 23, 2005 Autor Denunciar Share Postado Dezembro 23, 2005 O control é o controle ao qual o menu se refere.Que no caso e o Cmf, correto?E o pos é um objeto da classe Point que indique a posição onde o menu deve aparecer.Bem, e como eu utilizo essa classe Point para mim determinar o menu embaixo da setinha do mouse? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 23, 2005 Denunciar Share Postado Dezembro 23, 2005 O control é o controle ao qual o menu se refere.Que no caso e o Cmf, correto?Não, é o objeto sobre o qual as opções do Cmf deverão atuar sobre. No seu caso, é a DataGrid.E o pos é um objeto da classe Point que indique a posição onde o menu deve aparecer.Bem, e como eu utilizo essa classe Point para mim determinar o menu embaixo da setinha do mouse?Você tem estas posições no parâmetro e do evento, portanto, é só criar um objeto da classe Point com as determinadas informações (utilizando o operador New).Certo? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Dezembro 23, 2005 Autor Denunciar Share Postado Dezembro 23, 2005 Funcionou, eu fiz assim: If e.Button = MouseButtons.Right Then Dim obj As New Point obj.X = e.X obj.Y = e.Y Cmf.Show(dgtabela, obj) End Ifvaleu, Gray! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Dezembro 23, 2005 Denunciar Share Postado Dezembro 23, 2005 Funcionou, eu fiz assim: If e.Button = MouseButtons.Right Then Dim obj As New Point obj.X = e.X obj.Y = e.Y Cmf.Show(dgtabela, obj) End If valeu, Gray! Isso aí. E, você poderia também fazer de uma forma mais simplificada: If e.Button = MouseButtons.Right Then Cmf.Show(dgtabela, New Point(e.X, e.Y)) End IfCerto? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Andersonjb
E ai pessoal, como faço para que quando eu clique com o Botão Direito do Mouse na DataGrid apareça um menu suspenso? Eu tentei achar um evento do click com o botao direito do mouse, mas não achei nenhum... como posso fazer isso?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados