Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2007, 17:37
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 8 meses
Puntos: 7
C# 2.0 (Delegados, Eventos y Controles)

Hola buenas noches gente,

Tengo un pequeño problema que por favor, espero puedan ayudarme a resolverlo por que no sé como hacerlo.


Tengo una clase, la cual tiene un evento usado através de un delegado:
Código:
class ClsInternet
{
        public delegate void DelegadoEntradaMensaje(string textoRecibido);
        public event DelegadoEntradaMensaje EntradaMensaje;
.
.
.
.
.
.
//Y en un momento ejecuto el evento:
            if (EntradaMensaje != null)
                EntradaMensaje(txtDatosRecibidos);
}

Vale, este evento me funciona perfectamente, lo llamo desde un formulario de la siguiente forma y el texto lo recibo perfectamente, incluso si hago un MessageBox me muestra el texto. Acontinuación muestro el codigo del formulario.
Código:
ClsUtilidades.ClsInternet obj;
obj = new ClsInternet();
obj.EntradaMensaje += new ClsInternet.DelegadoEntradaMensaje(obj_EntradaMensaje);

obj.IniciarServidor();


        private void obj_EntradaMensaje(string textoRecibido)
        {            
            lstLista.Items.Add(textoRecibido);
        }
Bien, pues como he dicho, "textoRecibido" tiene el valor que tiene que tener, me está llegando perfectamente, si hago un msgbox de ese valor, me muestra el contenido. Pero al intentar agregar el String al ListBox tal y como está en el código me salta la siguiente excepción:

"Operación no válida a través de subprocesos: Se tuvo acceso al control 'lstLista' desde un subproceso distinto a aquel en que lo creó."

En fin... por favor, si alguien me puede ayudar se lo agradecería, por que no sé resolver el problema, la verdad.
__________________
Charlie.