1. Problema
Actualizar la interfaz gráfica de una aplicación tipo Windows Form cuando está compuesta por múltiples threads.
2. Solución
En su defecto Windows Forms no cuenta con manejo seguro de threads; esto quiere decir que la interacción con un control de la interfaz de usuario no puede ser manipulada por cualquier thread. Luego es neceario que el programador se asegure que la interacción con un control se lleve a cabo con el thread que lo creó.
En caso contrario, el programador debe invocar el control usando los métodos Invoke o BeginInvoke: estos métodos reciben como argumento un delegado que ejecutará el código personalizado.
3. Código C#
Líneas relevantes:
- Líneas 27-29: Handler del evento de tiempo transcurrido para el temporizador temporizadorVerde: aquí se usa el método Invoke del control Button para cambiar su color de fondo.
- Líneas 32-35:
4. Literatura & Enlaces
Jones, A., Freeman (2010). Visual C# 2010 Recipes: A Problem-Solution Approach. United States: Apress.
O
No hay comentarios:
Publicar un comentario
Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.