• Domingo 17 de Noviembre de 2024, 13:49

Autor Tema:  fondo Blanco al realizar un refresh Windows forms  (Leído 2331 veces)

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
fondo Blanco al realizar un refresh Windows forms
« en: Sábado 11 de Agosto de 2012, 17:02 »
0
hola que tal tengo un problema haber si alguien le a pasado

Tengo un grid cargado con 3 elementos cada uno de esos elementos realizon un test a un servidor cada uno, cada uno se genera en un hilo diferente(cada test), entonces en la parte de abajo tengo un boton que refresca el estado de los registros de acuerdo al test que se realiza. Bueno el problema radica en que cuando doy un refresh todo el form se pone en fondo blanco y no se ven los controles tengo que ir al administrador de procesos y finalizar ese proceso, luego arrancarlo de nuevo

saben porque razon se da eso, o alguien me le alla pasado???
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:fondo Blanco al realizar un refresh Windows forms
« Respuesta #1 en: Domingo 12 de Agosto de 2012, 04:27 »
0
que mal :S lo mas similar que me ha pasado es que una aplicacion se me pegaba y al tratar de moverla, cerrarla o algo se ponia en blanco y no respondia, se debia a un ciclo infinito en el thread principal.
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:fondo Blanco al realizar un refresh Windows forms
« Respuesta #2 en: Domingo 12 de Agosto de 2012, 22:18 »
0
Hasta hoy no puedo leer mentes... (aún xD) .. seria bueno que coloques parte de tú código donde realizas el llamado de los hilos y también donde realizas el refresh.

Como normalmente lo hago (y hasta hoy no me ha fallado) es de la siguiente forma:

 - Después de haber ejecutado el Hilo, al momento de refrescar como no sé si el hilo anterior ha terminado, ejecuto un delegado (para entrar al subproceso) con el Invoke() y así poder ejecutar el hilo.Abort(), ya que si deseas ejecutar el hilo.Abort() el programa marcará error de que quieres ejecutar un objeto que ya se está usando en otro proceso.

Bueno, realmente es una manera aunque yo supongo  existen otras muchas formas de hacerlo..

Saludos espero te sirva.
@gabio87

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
Re:fondo Blanco al realizar un refresh Windows forms
« Respuesta #3 en: Miércoles 15 de Agosto de 2012, 17:34 »
0
Ok gracias por sus respuestas, hare el delegado , investigue un poco y encontre el componente BackGroundWorker que se utiliza para ejecutar un subproceso que tarda mucho o que este muy pesado en segundo plano.
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso