Tengo una aplicación heredada WinForms Mdi en VB.Net 2.0 a la que le agrego funcionalidad. Una de las adiciones es una advertencia que debe plantearse cuando la hora actual se acerca a un valor especificado (una fecha límite). Mi intención es verificar la hora una vez por hora hasta que haya menos de una hora hasta la fecha límite, luego mostrar advertencias a intervalos específicos hasta que se acabe el tiempo.Which .Net Timer() para usar
El usuario debe poder continuar utilizando la aplicación hasta e incluso después de la fecha límite, pero debe conocer periódicamente la proximidad del plazo.
La aplicación no utiliza System.Threading todavía y mi conocimiento de la misma está limitado en este momento. Yo sé que hay 3) (métodos diferentes de temporizador disponibles:
- System.Threading.Timer(),
- Windows.Forms.Timer() y
- System.Timers.Timer()
Mi pregunta es, ¿cuál es la mejor manera de hacerlo? Intenté usar el temporizador de subprocesos, pero como WinForms no es seguro para subprocesos, recibí un error de tiempo de ejecución al intentar acceder a otra clase. ¿Vale la pena proteger el hilo de clase/forma? ¿Estoy completamente fuera de pista?
Gracias.
Es posible hacer WinForms roscados de programación, por cierto. Solo necesita detectar si se está realizando una llamada a método en el mismo subproceso que un formulario, y si no, envíelo al hilo apropiado. Suena más difícil de lo que realmente es. –