• Viernes 8 de Noviembre de 2024, 07:54

Autor Tema:  Problema con threads y componentes de los forms.  (Leído 1117 veces)

donnett

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Problema con threads y componentes de los forms.
« en: Viernes 2 de Octubre de 2009, 15:29 »
0
Hola a todos,
Haber estoy haciendo una aplicaión windows en la cual, tengo un hilo que se va a otra clase a ejecutar un codigo...
desde ese codigo se llama a un textBox (multiline) en el cual quiero mostrar un texto. Como estoy llamando al TextBox desde otro hilo al que lo creo pos uso esta rutina para invocar al hilo que lo creo y poder mostrar el texto ya que sino da excepcion.
Ahora viene el problema el textBox se me pone visible = false derepente y no m visualiza nada de lo que  escribo, y debugeando la variable TEXT del TEXTBOX si que tiene lo que escribo en el, pero me he dado cuenta que el visible esta a false, de ahi que ponga la linea de codigo Me.CuadroTexto.Visible = True pero NO LO CONSIGO se sigue quedando a false... y no lo entiendo.
Este rutina si que me funciona con Labels y demas pero con este TEXBOX estoy teniendo problemas.
Gracias por vuestro tiempo y haber si sabeis alguno porque puede ser!!!
SALUDOS!!!

Código: vb.net
  1. Private Sub SetCuadroTexto(ByVal [text] As String)
  2.  
  3.         ' InvokeRequired required compares the thread ID of the
  4.         ' calling thread to the thread ID of the creating thread.
  5.         'If these threads are different, it returns true.
  6.         If Me.CuadroTexto.InvokeRequired Then
  7.             Dim d As New SetCuadroTextoCallback1(AddressOf SetCuadroTexto)
  8.             Me.Invoke(d, New Object() {[text]})
  9.         Else
  10.             Me.CuadroTexto.Text = [text]
  11.             Me.CuadroTexto.Visible = True
  12.         End If
  13.     End Sub
  14.  

donnett

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problema con threads y componentes de los forms.
« Respuesta #1 en: Lunes 5 de Octubre de 2009, 09:30 »
0
Haber he seguido debugeando y el problema esta en que el thread se va a otra clase y de esta vuelve a la clase Form1 para editar el Cuadro de Texto y es en ese momento en el cual se vuelve visible = false, y otra cosa que me ha mosqueado es que la propiedad InvokeRequired del CUADRO DE TEXTO esta a false, y supuestamente deberia de ser true ya que es del thread desde donde lo quiero modificar, no????
creo que me estoy volviendo loko!!!!!!!