Ir para conteúdo
Fórum Script Brasil
  • 0

Data Grid - Menu


Andersonjb

Pergunta

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

  • 0

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 If

Bem, era pro ContextMenu (cmf) ser mostrado, não é? Mas dá erro, porque?

Link para o comentário
Compartilhar em outros sites

  • 0

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 If

Bem, 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

  • 0

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

  • 0

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? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

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

  • 0

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? wink.gif

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

  • 0

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í. biggrin.gif 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 If

Certo? wink.gif

Graymalkin

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...