none
Sumar en variable al presionar click derecho mouse

    Pregunta

  • Buen dia, les escribo para pedirles por favor me ayuden con la siguiente duda, aunque suena sencillo no e encontrado mucha informacion al respecto, lo que quiero es que cada vez que presione el click derecho del mouse una variable se encremente en 1, de antemano muchas gracias

    Alvaro Fabian M:.

    martes, 21 de febrero de 2017 17:11

Respuestas

  • Alvaro Fabian M,

    Declara una variable a nivel de la clase que se incrementará en uno por cada clic que el usuario realice -por ejemplo- sobre el formulario.

    Dim ContadorClic As Integer = 0
    
    Private Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
    
    	If e.Button = MouseButtons.Right Then '¿Se trata del botón derecho del mouse?
    		ContadorClic += 1
    
    		'Validar
    		MessageBox.Show(String.Format("{0} clic", ContadorClic))
    	End If
    
    End Sub


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Alvaro Fabian M martes, 21 de febrero de 2017 17:26
    martes, 21 de febrero de 2017 17:23
  • Muchas gracias por la pronta respuesta te comento que me funciono para todos los label e imagenes pero no para listbox ni botones, pero pude solucionarlo cambiando el mouse.click por elemento.mousedown

    Alvaro Fabian M:.

    martes, 21 de febrero de 2017 18:59

Todas las respuestas

  • Alvaro Fabian M,

    Declara una variable a nivel de la clase que se incrementará en uno por cada clic que el usuario realice -por ejemplo- sobre el formulario.

    Dim ContadorClic As Integer = 0
    
    Private Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
    
    	If e.Button = MouseButtons.Right Then '¿Se trata del botón derecho del mouse?
    		ContadorClic += 1
    
    		'Validar
    		MessageBox.Show(String.Format("{0} clic", ContadorClic))
    	End If
    
    End Sub


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Alvaro Fabian M martes, 21 de febrero de 2017 17:26
    martes, 21 de febrero de 2017 17:23
  • Muchas gracias, funciona perfecto

    Alvaro Fabian M:.

    martes, 21 de febrero de 2017 17:26
  • Hola william, te queria preguntar si tu sabes como hacer que la variable se incremente al darle click derecho sobre cualquier objeto ya que como tu me dices solo se incrementa cuando el puntero esta sobre el form pero cuando esta sobre un boton o una imagen no me incrementa la variable, una solucion creo que seria hacer lo de la deteccion del click sobre cada evento de cada elemento del formulario pero no me parece muy optimo, si conoces otra forma de solucionar esto te lo agradeceria

    Alvaro Fabian M:.

    martes, 21 de febrero de 2017 18:05
  • Alvaro Fabian M,

    No estoy seguro si existe alguna automatización que permita utilizar el evento clic con independencia del control sobre el que actúa, lo que yo haría es vincular el evento del control Clic a todos los controles del formulario.

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
    	For Each Ctrl As Control In Me.Controls
    		AddHandler Ctrl.MouseClick, AddressOf Control_MouseClick
    	Next
    End Sub

    Dim ContadorClic As Integer = 0
    
    Private Sub Control_MouseClick(sender As Object, e As MouseEventArgs)
    
    	If e.Button = MouseButtons.Right Then '¿Se trata del botón derecho del mouse?
    		ContadorClic += 1
    
    		'Validar
    		MessageBox.Show(String.Format("{0} clic", ContadorClic))
    	End If
    
    End Sub

    Por lo pronto, esto funcionará en tanto no tengas controles anidados.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    martes, 21 de febrero de 2017 18:19
  • Muchas gracias por la pronta respuesta te comento que me funciono para todos los label e imagenes pero no para listbox ni botones, pero pude solucionarlo cambiando el mouse.click por elemento.mousedown

    Alvaro Fabian M:.

    martes, 21 de febrero de 2017 18:59