Entonces, quiero cambiar el color de fondo del cuadro de imagen automáticamente en un momento específico elegido de un DateTimePicker.

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

    If DateTime(Now) = Stringpass4 Then
    A1.backcolor = color.lighblue
    End If
0
mara 25 sep. 2019 a las 09:24

1 respuesta

La mejor respuesta

No usaría = para comparar tiempos como ese. Las posibilidades de que alcance el milisegundo exacto necesario para que los tiempos se consideren iguales son muy poco probables.

En su lugar, haga su prueba usando>

If(DateTime.Now > mydatetimepicker.Value)
  a1.BackColor = Color.LightBlue
End If

Haga que su temporizador marque a intervalos de 1000 milisegundos. Significa que dentro de un segundo de la hora mundial pasando la hora en el selector, la pantalla cambiará. Si necesita más precisión, haga que el temporizador marque más a menudo. Sin embargo, es mejor hacer que el temporizador marque con poca frecuencia, así que no establezca el intervalo en 1 ms, configúrelo en el mayor tiempo posible para que se cumpla su requisito. Por ejemplo, si está haciendo un reloj para que su hijo sepa que solo puede levantarse de la cama cuando la pantalla se pone azul, estaría bien con un intervalo de 10 segundos o algo así. Si está cronometrando un proceso industrial que necesita mostrar un cambio en medio segundo, haga que el intervalo sea la mitad de ese requisito, por lo que 250 ms

0
Caius Jard 25 sep. 2019 a las 06:31