CLR: .Net / Mono / Boo / Otros CLR > C#

 Escribir En Un Listbox Desde Una Clase

(1/2) > >>

Gandalf_malaga7:
Hola amigos :hola: ,

tengo una aplicación para Windows,en la cual en el Form,tengo un control ListBox.Bueno pues esta aplicación se sirve de unas funciones que están en una clase externa.Bueno pues necesito que esas aplicaciones sean capaces de añadir datos al ListBox.Mira para que lo entendais mejor.Desde mi Form1 yo creo un objeto de una clase,y llamo a la función EnviarMensaje de esa clase.Entonces necesito poder añadir en el ListBox si el Mensaje ha sido Enviado correctamente o no.

No me vale la solución de que la función devuelva un valor,ya que esta función es llamada desde un Thread y los Thread no pueden devolver parámetros, :(

muchas gracias y salu2!!!!!!!!!!! :kicking:

Gandalf_malaga7:
Bueno amigos por lo pronto he conseguido esto:


--- Código: Text --- using System;using System.Threading; // Este es el delegado que se encargará de hacer la magiapublic delegate void MensajeDelegate(string msj);  class ClasePrincipal{  static void Main(string[] args)   {    Console.WriteLine("Iniciando void Main().");     // Creamos una instancia de la clase multi hilo y seteamos los campos que normalmente pasariamos como parametros    ClaseMultiHilo cmh = new ClaseMultiHilo();     // Agregamos el handler del evento (si no lo hacemos no podremos interceptarlo)    cmh.Mensaje += new MensajeDelegate(MuestraMensaje);    // Creamos un delegado para el método ImprimirSuma()    ThreadStart ts = new ThreadStart(cmh.MostrarMensaje);     // Creamos un hilo para ejecutar el delegado...    Thread t = new Thread(ts);      t.Start();    t.Join();    Console.WriteLine("Fin de la ejecución. Presione una tecla para salir.");    Console.ReadLine();  }   public static void MuestraMensaje(string msj)  {    Console.WriteLine(msj);  }} class ClaseMultiHilo{  public event MensajeDelegate Mensaje;  public void MostrarMensaje()  {    // Lanzamos el evento con la informacion necesaria    Mensaje("Hola colega");  }  }  
con esto consigo que un Thread me devuelva como parametro la cadena "Hola colega",lo malo es que esa cadena solo puedo usarla desde un método static: MuestraMensaje y desde un método estatic tampoco se me deja escribir la cadena en un ListBox,así que sigo con el mismo problema. Para el que me pueda ayudar,lo que pretendo es la cadena "Hola colega",que llega al metodo static MuestraMensaje,cuando tiene lugar el evento "Mensaje",kiero mostrarla en un ListBox,

gracias y salu2!!!!!!!!!

Gandalf_malaga7:
Hola amigos, ;)

creo que lo que puse en el mensaje anterior es demasiado complicaco,y se puede resolver todo esto de una manera mas sencilla.Os adjunto akí un pequeño archivo de una aplicación para Visual C# comentando lo que kiero hacer.Cuando Habrais la aplicación veréis lo que kiero hacer. Lo único que kiero es que cuando pulse el boton "Escribe desde ClaseMultihilo", se cree un objeto de la clase multihilo,entonce usamos la función EnvioDatos y esta función tiene que poder escribir en un ListBox.

No vale que la función devuelva parametros y esas cosas porque la función estará en un Thread,y estos no devuelven parámetros.

Por favor si sabéis alguna solución ayudarme :( ,necesito resolver este problema urgentemente,

gracias y Feliz Año 2006 a todos!!!!!!!!! :kicking:

Gandalf_malaga7:
De verdad que nadie sabe hacer esto?,necesito hacerlo como sea :( ,además seguro que a poco que uséis alguna ver Threads os vais a encontrar con un problema similar!!!!!!!!!!!

bueno todavía mantengo la esperanza de que algún alma caritativa responda!!!!!!! :rolleyes:

JuanK:
Bueno no se si entendio que es lo que querias hacer con hilos, pero aqui te va:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa