• Domingo 22 de Diciembre de 2024, 03:26

Autor Tema:  Escribir En Un Listbox Desde Una Clase  (Leído 3306 veces)

Gandalf_malaga7

  • Miembro MUY activo
  • ***
  • Mensajes: 162
    • Ver Perfil
Escribir En Un Listbox Desde Una Clase
« en: Jueves 29 de Diciembre de 2005, 18:20 »
0
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 El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.

Gandalf_malaga7

  • Miembro MUY activo
  • ***
  • Mensajes: 162
    • Ver Perfil
Re: Escribir En Un Listbox Desde Una Clase
« Respuesta #1 en: Jueves 29 de Diciembre de 2005, 21:21 »
0
Bueno amigos por lo pronto he conseguido esto:

Código: Text
  1.  
  2. using System;
  3. using System.Threading;
  4.  
  5. // Este es el delegado que se encargará de hacer la magia
  6. public delegate void MensajeDelegate(string msj);
  7.  
  8.  
  9. class ClasePrincipal
  10. {
  11.   static void Main(string[] args)
  12.   {
  13.     Console.WriteLine("Iniciando void Main().");
  14.  
  15.     // Creamos una instancia de la clase multi hilo y seteamos los campos que normalmente pasariamos como parametros
  16.     ClaseMultiHilo cmh = new ClaseMultiHilo();
  17.  
  18.     // Agregamos el handler del evento (si no lo hacemos no podremos interceptarlo)
  19.     cmh.Mensaje += new MensajeDelegate(MuestraMensaje);
  20.     // Creamos un delegado para el método ImprimirSuma()
  21.     ThreadStart ts = new ThreadStart(cmh.MostrarMensaje);
  22.  
  23.     // Creamos un hilo para ejecutar el delegado...
  24.     Thread t = new Thread(ts);  
  25.     t.Start();
  26.     t.Join();
  27.     Console.WriteLine("Fin de la ejecución. Presione una tecla para salir.");
  28.     Console.ReadLine();
  29.   }
  30.  
  31.   public static void MuestraMensaje(string msj)
  32.   {
  33.     Console.WriteLine(msj);
  34.   }
  35. }
  36.  
  37. class ClaseMultiHilo
  38. {
  39.   public event MensajeDelegate Mensaje;
  40.   public void MostrarMensaje()
  41.   {
  42.     // Lanzamos el evento con la informacion necesaria
  43.     Mensaje("Hola colega");
  44.   }
  45.  
  46. }
  47.  
  48.  

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 El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.

Gandalf_malaga7

  • Miembro MUY activo
  • ***
  • Mensajes: 162
    • Ver Perfil
Re: Escribir En Un Listbox Desde Una Clase
« Respuesta #2 en: Miércoles 4 de Enero de 2006, 15:26 »
0
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 El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.

Gandalf_malaga7

  • Miembro MUY activo
  • ***
  • Mensajes: 162
    • Ver Perfil
Re: Escribir En Un Listbox Desde Una Clase
« Respuesta #3 en: Martes 10 de Enero de 2006, 11:04 »
0
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:
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Escribir En Un Listbox Desde Una Clase
« Respuesta #4 en: Martes 10 de Enero de 2006, 14:08 »
0
Bueno no se si entendio que es lo que querias hacer con hilos, pero aqui te va:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Gandalf_malaga7

  • Miembro MUY activo
  • ***
  • Mensajes: 162
    • Ver Perfil
Re: Escribir En Un Listbox Desde Una Clase
« Respuesta #5 en: Martes 10 de Enero de 2006, 14:45 »
0
SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!!!!!!!!!!!!!  :kicking:

JuanK CRACKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK :smartass: !!!!!!!!!,

eres el p... amo,te debo una gorda colega.Creo que esto es exactamente lo que estaba buscando,va perfecto y creo que lo podré integrar en mi aplicación sin ningún problema!!!!!!!!,

muchas gracias de verdad!!!!!!! ;)
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.