none
Parametros object sender, RoutedEventArgs e RRS feed

  • Pregunta

  • Antes de externarles mis dudas les agradezco mucho por ayudarme en ocasiones anteriores y espero me puedan resolver esas dudas que se me han presentado, bueno he desarrollado una aplicación es WPF en el lenguaje C# y ahora estoy documentando el código pero al querer documentar el evento click que se genera en el botón me surgió la duda de para que sirven los parámetros "object sender, RoutedEventArgs e" que aparecen. Si se que Como por ejemplo:

    private void button1_Click (object sender, RoutedEventArgs e) {

    }

    Si me pudiesen ayudar a entender para que funcionan o que son se los agradeceré mucho.

    • Cambiado webJose martes, 10 de febrero de 2015 16:11
    martes, 10 de febrero de 2015 14:10

Todas las respuestas

  • hola

    el parametro "sender" contiene la instancia del control que lanza el evento

    si asignas el click a un boton tendrias la instancia de ese boton, con lo cual podrias hacer

    Button btn1 = (Button)sender;

    esto se suele usar cuando asocias un mismo evento a varios controles

    -----

    el parametro "e" son los argumentos, esto puede cambiar de un evento a otro segun sea el caso, pero representa informacion adicional

    este parametro "e" cambia dependiendo la firma del hander del evento

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 10 de febrero de 2015 14:55
  • Muchismas gracias por su aporte aunque el parametro e que se deriva del RoutedEventArgs  ¿a que se  refiere?
    martes, 10 de febrero de 2015 15:05
  • hola

    >>el parametro e que se deriva del RoutedEventArgs  ¿a que se  refiere?

    a que te refieres con que se refiere ?

    es un parametro del evento con informacion adicional, el click tiene el RoutedEventArgs 

    por ejemplo el mouseMove tiene el argumento

    private void MouseMoveHandler(object sender, MouseEventArgs e)

    que brinda informacion acerca de als coordenadas del puntero del mouse

    o sea cada evento tiene una firma que lo define el handler del evento y el "e" aporta informacion adicional para esa accion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 10 de febrero de 2015 15:12
  • Muchísimas gracias por su aporte, gracias por resolver mis dudas y disculpe las molestias.
    martes, 10 de febrero de 2015 15:50
  • Para explicarle apropiadamente, usted debería empezar por lo básico de eventos en C#.

    Rápidamente, Microsoft dicta que todos los eventos deben tener una firma con parámetros object y uno más que es de tipo EventArgs o un derivado de EventArgs.

    En el caso de WPF, la base es RoutedEventArgs.


    Jose R. MCP
    Code Samples

    martes, 10 de febrero de 2015 16:10
  • Tu método delegado button1_Click(), del tipo RoutedEventHandler ya está documentado. En todo caso podrías hacer referencia a la documentación de microsoft

    https://msdn.microsoft.com/es-es/library/system.windows.routedeventhandler%28v=vs.110%29.aspx

    Por tu parte, si cabe, podrías documentar los efectos o las acciones que el método realiza en tu programa.

    martes, 10 de febrero de 2015 16:24