La méthode qui doit être exécuté chaque période de temps devrait être mis sur la Timer1_Tick
événement aussi bien. Ceci est une petite implémentation essayer et voir si cela fonctionne adapter votre code en conséquence:
Configurez les propriétés de minuterie souhaitées:
Cliquez sur la minuterie sur la vue de la conception et sur la zone de liste Propriétés de l'ensemble:
- propriété Intervalle sur 30000 (L'événement se déclenche toutes les 30 secondes)
- activé sur True (La minuterie commencera à travailler après votre formulaire est chargé)
ensuite sur votre Codebehind
private void ShowMessage()
{
MessageBox.Show("Hello Timer");
}
private void timer1_Tick(object sender, EventArgs e)
{
ShowMessage();
}
également ici est une implémentation fonctionnelle selon le code affiché, comme pour ce que je comprends de votre code que vous voulez que le navigateur pour rafraîchir toutes les certaines secondes, ainsi que le numérique vers le haut et le contrôle vers le bas montrent la valeur de la variable définie sur boatId, ce code fait cela:
Définissez les propriétés minimum et maximum de votre contrôle ascendant numérique dans la boîte Propriétés de celui-ci (clic droit sur le contrôle en mode design et recherchez ces deux propriétés)
Ensuite, essayez ce qui suit;
Public boatid As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.lblDate.Text = Now.ToString()
''Set a bigger winform to show the browser page better
Me.Width = 800
Me.Height = 600
googlemaps()
End Sub
''The browser will be refreshed every n seconds) according to what you have set on interval property of the timer control
Sub googlemaps()
Dim url As String = "http://www.google.com"
Me.WebBrowser1.Navigate(New Uri(url))
End Sub
''Loop over this method using the Tick event, while doing that verify the value
''of the boatid variable and if its less than the maximun value allowed by the numeric
''updown control increment it in one unit, then show it on the numeric selected value
''as well on the label control
Private Sub ChangeBoatIdValueCycling()
If boatid < 10 Then
boatid += 1
Else
boatid = 1
End If
Me.NumericUpDown1.Value = boatid
Me.lblBoatId.Text = boatid.ToString()
End Sub
''This wil show the id on the label text when you click up and down the numeric control
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.lblBoatId.Text = Me.NumericUpDown1.Value.ToString()
End Sub
''This will set a variable with value 5 that will get shown selected on the numeric
''control as well as visible on the label text, the value will be shown because
''it exists in the range of 1 to 10 that is your requeriment.
Private Sub btnsequence_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsequence.Click
Dim i As Integer = 5
boatid = i
Me.NumericUpDown1.Value = boatid
Me.lblBoatId.Text = boatid.ToString()
End Sub
''Needed to repeat the form refresh and boatid cycling every n seconds according to your Interval property
''value
Private Sub RefreshTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshTimer.Tick
googlemaps()
ChangeBoatIdValueCycling()
End Sub
J'espère que cela aide. Dites-moi comment ça se passe.
Oui, ça a très bien fonctionné. L'autre problème que j'ai est que je veux que le bouton de séquence ajuste la valeur de boatid de 1 à 9 toutes les 30 secondes et cycle. Ainsi que l'utilisateur ayant la possibilité de changer l'ID du bateau avec le retrait numérique. – mdcuk
Vérifiez la mise à jour @ mdcuk, si vous ne comprenez rien, faites le moi savoir. Continuez à coder, à lire et à apprendre. Merci. – CoderRoller
Salut @ mdcuk, ce qui est arrivé avec la réponse. Cela n'a-t-il pas marché? – CoderRoller