2017-09-28 3 views
0

J'ai écrit une application dans Visual Studio VB pour tracer certaines données en fonction de la date. Près du graphique, j'ai un DateTimePIcker qui déplace une ligne de marqueur sur le graphique.DateTimePicker: modifier les heures en augmentant/diminuant les minutes

Fondamentalement cela fonctionne, mais quand je clique sur le bouton "Monter" ou "Descendre" sur le DateTimePicker et que la valeur des minutes dépasse 59, l'objet ne met pas à jour automatiquement la valeur des heures. plus tôt.

J'ai essayé de chercher quelque chose, ou certaines options pour corriger ce bug, mais je n'ai rien trouvé.

quelqu'un peut-il me aider?

Nous vous remercions à l'avance.

+1

Montrez-nous ce que vous avez essayé jusqu'à présent. – muffi

Répondre

0

Vous pouvez utiliser un code similaire fonctionne même si vous cliquez vers le bas:

Private intHours As Integer = 0 
Private intMinutes As Integer = 0 

Private Sub DateTimePicker1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles DateTimePicker1.ValueChanged 

    Dim intOldHours As Integer = Me.intHours 
    Dim intOldMinutes As Integer = Me.intMinutes 

    Me.intHours = Me.DateTimePicker1.Value.Hour 
    Me.intMinutes = Me.DateTimePicker1.Value.Minute 

    If intOldHours = Me.intHours Then 
     If intOldMinutes = 59 AndAlso Me.intMinutes = 0 Then 
      Me.DateTimePicker1.Value = Me.DateTimePicker1.Value.AddHours(1) 
     ElseIf intOldMinutes = 0 AndAlso Me.intMinutes = 59 Then 
      Me.DateTimePicker1.Value = Me.DateTimePicker1.Value.AddHours(-1) 
     End If 
    End If 

End Sub 
+0

Ne serait-ce pas à 59 puis continuer à ajouter une heure à chaque fois? puisque les minutes ne sont jamais réinitialisées à 0 – Jaxi

+0

il n'est pas nécessaire de réinitialiser les minutes car le déplacement vers le haut/vers le bas modifie déjà cette valeur; code modifié pour travailler également avec descendre – tezzo

+0

Merci beaucoup !! Le code fonctionne ... –