none
como capturar qual objeto foi clicado com o botão direito? RRS feed

  • Pergunta

  • Em uma aplicação desktop criei um formulário com uma ToolStrip onde eu listo os arquivos de uma pasta 5 no máximo

    o que eu quero agora é dar a opção para o usuário renomear estes arquivos, a lógica de renomear eu consigo fazer, porém não consigo capturar quem deve ser removido, minha ideia inicial é usar um ContextMenuStrip atribuído a todos os objetos, quando os crio dinamicamente, e capturar qual deles gerou o clique, para renomear só aquele.


    Vandson FD

    quinta-feira, 3 de abril de 2014 12:32

Respostas

  • Em um evento,normalmente,temos o parâmetro sender,do tipo object.Este parâmetro é definido/preenchido pelo objeto que chamou o evento.Basta dar um cast neste parâmetro e usá-lo como o objeto que preferir (que deve ser do mesmo tipo que chamou).

    Private Sub buttons_Click(ByVal sender As Object, Byval e As EventArgs)
    	Dim b As Button = DirectCast(sender, Button)
    	
    	b.Text = "Você clicou aqui"
    End Sub


    Imagine que este método esteja relacionado a um evento,e que este evento esteja sendo usado por diversos botões.

    P: Como saber qual botão chamou o evento?
    R: Usando o parâmetro sender.


    • Editado Guilherme L. Santos quinta-feira, 3 de abril de 2014 14:59 mudança de código para vb.net
    • Marcado como Resposta Giovani Cr terça-feira, 8 de abril de 2014 19:53
    quinta-feira, 3 de abril de 2014 14:57