Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [vb.net] Selezionare l'item successivo ad ogni tic del timer

    Salve a tutti,
    so già che questa è una domanda banale, però non riesco a risolvere il mio problema.
    Semplicemente, vorrei che ad ogni tic del timer nella listbox1, l'item selezionato sia l'item selezionato +1. Tutto bene fin quì, solamente che vorrei che se l'item selezionato è l'ultimo, il timer si fermi. Come posso fare?
    Io ho provato questo codice, ma non funziona:
    codice:
    If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
                Timer1.Stop()
            Else
                ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
            End If
    Grazie in anticipo!!
    RichiFra03

  2. #2
    In che senso "non funziona"? Dà errori a runtime? Non compila? Altro ancora?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Si comporta esattamente come se non avessi scritto niente...
    RichiFra03

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A me funziona regolarmente....

    Ma lo Start quando lo fai ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Il timer1.start l'ho messo al form_load
    RichiFra03

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ripeto ... funziona.

    Mostra tutto il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ok.
    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Timer1.Start
    
        End Sub
    
     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
           If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
                Timer1.Stop()
            Else
                ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
            End If
        End Sub
    
        Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
            Shell(ListBox1.Text, AppWinStyle.NormalFocus)
        End Sub
    P.S. Non posto tutto xkè è lungo un Km, ho messo le cose essenzial, tanto il codice che non ho messo non ha niente a che fare con il temer o la listbox, ma gestisce altri comandi...
    Grazie ancora!
    RichiFra03

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A parte la questione della Shell, ho provato e funziona tutto.

    Quale intervallo è impostato ?

    Se non risolvi, scrivi un piccolo programma di prova con il codice che hai mostrato e facci scaricare lo zip con il progetto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Dunque, l'intervallo è a 1000(un secondo, se non sbaglio)... Comunque è una buona idea, provo a fare un'altro programma solamente con una listbox e un timer, poi vi facico sapere...
    Grazie a tutti!
    RichiFra03

  10. #10
    Go provato come mi ha suggerito Oregon e funziona perfettamente. Ora ho scoperto qual'era il problema. Nel form_load, la stringa "timer1.start", forse per sbaglio era finita dentro un if, di conseguenza il timer si avviava solamente se "l'esito dell'if" era positivo.
    Non so se mi sono spiegato comunque grazie a tutti!
    RichiFra03

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.