2009-08-10 6 views
0

Je possède une étiquette dont le texte est déterminé par une boucle dans une zone de liste lors d'un événement de clic. Je voudrais avoir une boucle de minuterie dans la liste (... pour définir le texte de l'étiquette) si le bouton n'est pas pressé dans le temps ('x' secondes).Utilisation d'un minuteur pour boucler

S'il vous plaît aider, perdu

+0

Je ne suis pas sûr de comprendre la question. Pouvez-vous poster du code ou clarifier la question? – Max

+0

Est-ce WinForms ou ASP.NET? –

Répondre

0

Essayez d'utiliser le contrôle de la minuterie disponible en .net.!

Le contrôle de la minuterie vous permet de définir des intervalles de temps spécifiques jusqu'à ce que du code soit exécuté.

une étape illustrative par étape comment ajouter du texte à une zone de liste à l'aide d'une minuterie ... http://www.ehow.com/how_4590003_program-timer-control-vbnet.html

un autre tutoriel de minuterie pour u à lire ..

http://www.vbdotnetheaven.com/UploadFile/mahesh/TimerControl04262005033148AM/TimerControl.aspx

0

Je suis en supposant que ce soit WinForms. Je pense que ce que vous devriez faire est de gérer l'événement SelectedIndexChanged de la ListBox pour définir le texte de votre label, ce serait plus facile à implémenter qu'un timer.

Dans le constructeur de votre formulaire, vous pourriez avoir:

ListBox1.Items.Clear() 
ListBox1.Items.Add(New KeyValuePair(Of Integer, String)(0, "Value-1")) 
ListBox1.Items.Add(New KeyValuePair(Of Integer, String)(1, "Value-2")) 
ListBox1.DisplayMember = "Value" 
ListBox1.ValueMember = "Key" 

et vous pourriez avoir une méthode pour gérer l'événement SelectedIndexChanged comme suit:

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged 
    If ListBox1.SelectedItem IsNot Nothing Then 
     Label1.Text = ListBox1.SelectedItem.Value 
    End If 
End Sub 
1

Utilisez le contrôle de la minuterie et réglez la selectedindex. Vous pouvez ensuite utiliser l'événement SelectedIndexChanged pour gérer la nouvelle sélection.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

ListBox1.Items.Add("First Item") 
ListBox1.Items.Add("Second Item") 
ListBox1.Items.Add("Third Item") 
ListBox1.Items.Add("Fourth Item") 
ListBox1.SelectedIndex = 0 

Timer1.Interval = 500 
Timer1.Start() 

End Sub 

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

Dim i As Integer 
i = ListBox1.SelectedIndex 
i = i + 1 
If i > ListBox1.Items.Count - 1 Then i = 0 
ListBox1.SelectedIndex = i 

End Sub 
Questions connexes