none
Una consulta. ¿Hay posibilidad de error en el siguiente código? RRS feed

  • Pregunta

  •   For Each Control As Control In Pariente.Controls
        AddHandler Control.MouseClick, AddressOf RatonClick
      Next

    Es decir, ¿qué pasa si el control no desencadena un evento MouseClick? o, ¿cómo consulto antes si el control puede desencadenar un evento MouseClick para luego enlazarlo?

    Lo que deseo es referenciar el evento MouseClick de cualquier control que desencadene este evento.


    • Editado James2016-2 domingo, 24 de noviembre de 2019 19:18
    domingo, 24 de noviembre de 2019 19:17

Respuestas

Todas las respuestas

  • Deleted
    • Propuesto como respuesta Pablo Rubio lunes, 25 de noviembre de 2019 16:05
    domingo, 24 de noviembre de 2019 19:21
  • Es que eso es precisamente lo que no sé. Trato de hacerlo genérico.

    Si pongo sobre un contenedor puros botones, obviamente compila, pero no por eso funcionará siempre sin error. Es decir eso dependerá de los controles que contenga el contenedor y como no sé de antemano qué controles contendrá, no sé si en algún momento producirá error, por eso la consulta.



    • Editado James2016-2 domingo, 24 de noviembre de 2019 19:46
    domingo, 24 de noviembre de 2019 19:45
  • Deleted
    • Propuesto como respuesta Pablo Rubio lunes, 25 de noviembre de 2019 16:05
    domingo, 24 de noviembre de 2019 20:00
  • Bueno sí, para ser más precisos son puros controles, pero a lo que me refiero es que si pongo puros controles de botón compila porque con los controles de tipo botón hay la certeza que desencadenan un evento MouseClick. No se genera error.

    Lo que trato de averiguar es que si pongo otros objetos sobre el contenedor que no desencadenan un evento MouseClick, generará error o no.

    domingo, 24 de noviembre de 2019 20:25
  • Hola:

    La clase CONTROL tiene el evento MouseClick:

    https://docs.microsoft.com/es-es/dotnet/api/system.windows.forms.control.mouseclick?view=netframework-4.8

    Por lo tanto, todos los controles (For Each Control As Control) tendrán siempre el evento MouseClick, y no se generará ningún error.

    Lo único 'raro' que te puede pasar es que algún control en concreto haya modificado la forma habitual del evento MouseClick (no sé, por ejemplo que si se hace MouseClick pero el control ésta 'ocupado haciendo algo', no se genere el evento), pero eso no suele ser muy habitual.

    Espero que te sirva.

    Un saludo

    • Propuesto como respuesta Pablo Rubio lunes, 25 de noviembre de 2019 16:05
    • Marcado como respuesta James2016-2 lunes, 25 de noviembre de 2019 17:11
    lunes, 25 de noviembre de 2019 9:09
  • Ah, ok gracias, eso es lo que quería saber. Gracias por el enlace y saludos también.
    • Editado James2016-2 lunes, 25 de noviembre de 2019 17:12
    lunes, 25 de noviembre de 2019 17:11