Cambiar el color de fondo de un botón

Tengo un problema al cambiar el color de un botón (en vb.net). He buscado en la web y muchas personas están dispuestas a decirme CÓMO cambiar el color, pero mi problema es que no es así. Yo digo que no, lo hace cuando ha terminado el resto del código en el Sub. ¿Alguien puede proporcionarme una explicación de por qué no sucede cuando pregunto? Estoy usando Visual Studio 2008

preguntado el 10 de marzo de 12 a las 08:03

2 Respuestas

Después de cambiar el color, llame a Application.DoEvents()

Esto le da a la GUI la oportunidad de actualizarse.

respondido 10 mar '12, 09:03

Perfecto. Exactamente como dice en la lata. Ahora tienes que ir a investigar este comando. Gracias por su tiempo y problemas. - Nick salmón

Application.DoEvents funcionará, pero es la solución incorrecta para esto.

La solución correcta tiene que ver con la razón por la que no desea esperar el final del sub: tiene un código de ejecución prolongada en su método y el método se ejecuta en respuesta directa a un evento de IU. En esta situación, el Derecho La solución es usar un FondoTrabajador componente para ejecutar el código de ejecución prolongada, por lo que el método se completará de inmediato y el botón puede cambiar de color cuando se supone que debe hacerlo.

respondido 10 mar '12, 15:03

Hola Joe, lo siento, acabo de ver tu respuesta. La respuesta que me dio Velox me ayudó mucho, pero ciertamente investigaré el BackgroundWorker. Muchas gracias - Nick salmón

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.