none
Problema al visualizar una variable String en un Label

    Pregunta

  • Buenos días.

    Mi problema es el siguiente.

    Resumiendo, tengo una variable "porcentaje", tipo "string" que se actualiza al mismo ritmo que un "progressbar". El resultado de esa variable se va mostrando en un "label". Si ejecuto línea a línea el código, observo que la variable "porcentaje" se actualiza de la forma que yo quiero, y cuando llego a la línea labelporcentaje.text=porcentaje & " %" observo que el "label" coge el valor de la variable. El problema es que cuando ejecuto la aplicación, observo que el "label" realmente no muestra el contenido de la variable "porcentaje", de la misma manera que me dice el código. Es decir, por ejemplo, el código me dice que labelporcentaje.text="50 %", y en ejecución el "label" sigue teniendo el valor inicial, no toma el valor "50 %"

    Por qué puede ser esto?

    sábado, 18 de marzo de 2017 11:51

Respuestas

  • Seguramente es porque tu programa esta haciendo cálculos en un bucle muy apretado, y nunca libera el control para dejarle a la interfaz de usuario que dibuje en pantalla los valores que se le han asignado.

    Prueba a poner Application.DoEvents() dentro del bucle, o después de asignarle el valor al label, para que se libere momentáneamente el control y le dé oportunidad de actualizar la interfaz de usuario.

    • Marcado como respuesta IvanBcn1982 sábado, 18 de marzo de 2017 13:59
    sábado, 18 de marzo de 2017 12:50

Todas las respuestas

  • Seguramente es porque tu programa esta haciendo cálculos en un bucle muy apretado, y nunca libera el control para dejarle a la interfaz de usuario que dibuje en pantalla los valores que se le han asignado.

    Prueba a poner Application.DoEvents() dentro del bucle, o después de asignarle el valor al label, para que se libere momentáneamente el control y le dé oportunidad de actualizar la interfaz de usuario.

    • Marcado como respuesta IvanBcn1982 sábado, 18 de marzo de 2017 13:59
    sábado, 18 de marzo de 2017 12:50
  • Genial.

    Funciona perfectamente.

    sábado, 18 de marzo de 2017 14:00