none
¿Como se "Raisea" o "Inoka" un evento de un control? RRS feed

  • Pregunta

  • Hola.!

    Supongamos algo simple: tengo una Caja de Textos que tiene....por ejemplo dos eventos:

    -TextChange y
    -GotFocus

    No me pregunteis el "por que", porque no viene al caso, pero vamos a suponer que, cuando presiono un botón, necesito que se dispare el Evento "TextChange" de esa caja (sin importar si el texto ha cambiado: no viene al caso).

    Digo que no me pregunteis, porque no es exactamente ese método, ni una caja de textos. Es porque quiero aprender a "disparar" un evento a mi antojo y no encuentro como hacerlo.

    Para los curiosos: tengo un UserControl, que es un combo (mucho mas potente que el normal), que cuando cambia un elemento (que puede ser que no sea precisamente cuando el usuario "seleccione" un elemento diferente al actual), necesito que yo mismo pueda "disparar" el DataContextChange, que no sucede en todos los escenarios en que yo lo deseo. Además de ello, si el elemento seleccionado no cumple una serie de evaluaciones, yo no necesito (o no quiero) disparar el evento.

    Saludos a todos.!!!
    viernes, 30 de octubre de 2020 8:01

Todas las respuestas

  • En el caso del evento TextChanged, al no necesitar si se resulto cambio en la caja de texto, deberías de realizar un método donde realice la comprobaciones ya que tu lógica no necesita saber el cambio.. podría hacer un método  y llamarlo desde el evento clic del botón te ayudaría  a no repetir tanto código... lo digo por que estos eventos enlazados a una propiedad y si tu lógica no necesita de cambio de esa propiedad eso nos indica de que deberías hacer lo que te digo, aparta ciertos algoritmos de otros.
    viernes, 30 de octubre de 2020 13:35
  • En el caso del evento TextChanged, al no necesitar si se resulto cambio en la caja de texto, deberías de realizar un método donde realice la comprobaciones ya que tu lógica no necesita saber el cambio.. podría hacer un método  y llamarlo desde el evento clic del botón te ayudaría  a no repetir tanto código... lo digo por que estos eventos enlazados a una propiedad y si tu lógica no necesita de cambio de esa propiedad eso nos indica de que deberías hacer lo que te digo, aparta ciertos algoritmos de otros.

    Nop: si hago un método, no puedo acceder a él desde un código subyacente.

    RECUERDA: No es un código aislado, es un User Control. Los EVENTOS son parte fundamental de todos los componentes.

    viernes, 30 de octubre de 2020 17:42
  • Entonces lo recomendable seria para esto... solo cambiar la propiedad a las que están enlazados los eventos... no se me ocurre nada mas. es decir, provocar el TextChanged  cambiando la propiedad Text...

    (Con valores que no importe pero que si provoquen un cambio)

    HOLA xD!


    • Editado David_Aponte viernes, 20 de noviembre de 2020 14:42
    viernes, 20 de noviembre de 2020 14:40
  • Hola Knossos

    Quizás esto te ayude

    https://docs.microsoft.com/en-us/dotnet/standard/events/how-to-raise-and-consume-events

    Saludos

    Pablo

    viernes, 20 de noviembre de 2020 17:33