Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/01/2008, 02:11
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 9 meses
Puntos: 7
Re: C# Clase con Eventos, error actualizando control.

Bueno, muchas gracias por tu documentación Peterpay, al final lo solucioné tal como me has comentado:

Código:
//Creo el deletado para actualizar la caja de texto, si se ejecuta el evento NuevaConexion de mi objeto.
public delegate void DelegadoNuevaConexion(string txtIpCliente, int puertoCliente);


//Implemento el evento de mi objeto en el formulario.
        private void objHeviaServer_NuevaConexion(string txtIpCliente, int puertoCliente)
        {
            DelegadoNuevaConexion delegadoNuevaConexion = new DelegadoNuevaConexion(NuevaConexionCliente);
            if (txtEventos.InvokeRequired)
                txtEventos.Invoke(delegadoNuevaConexion, new object[] { txtIpCliente, puertoCliente });
            else
                txtEventos.Text += "[NUEVA CONEXION] " + txtIpCliente + ":" + puertoCliente;
        }




//Si mi caja de texto requiere de Invocación, llamaré a este evento enlazado con el delegado.
public void NuevaConexionCliente(string txtIpCliente, int puertoCliente)
        {
            txtEventos.Text += "[NUEVA CONEXION] " + txtIpCliente + ":" + puertoCliente;
        }


Vale, con esto me funciona a la perfección, pero... ¿Hay alguna forma de poder implementar en mi clase algún atributo o algo para no tener que poner en mi formulario todo el tema del Delegate?

Lo que quiero es no tener que escribir todo ese código, sino que conseguir un funcionamiento similar al Evento OnClick de un botón, que ahí ya puedo escribir lo que quiera, sin necesidad de crear delegados.

En fin, si hay alguna forma(Sin usar el CheckForIllegals..) estaría bueno conocerla, asi no tendría que crear un Delegado y un método nuevo para cada evento de mi objeto...

En fin, por lo demás, gracias por su solución.

Un cordial saludo.
__________________
Charlie.