Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    3

    vb.net uso del timer per cambiare backolor

    Salve a tutti. ho una domanda molto facile , ma essendo agli inizi con vb.net e la programmazione in generale ho qualche difficoltà ogni tanto XD

    vorrei sapere come usare il timer affinchè quando io premo un bottone con all'interno il comando che imposta lo sfondo della form rosso , faccia durare questo comando 5 secondi per poi far tornare lo sfondo come prima , non ho capito come far partire il timer e stopparlo e soprattutto dove inserire i comandi timer1.start () timer1.stop() timer1.enbled= true etc XD
    se qualcuna mi aiuta gliene sono molto grato!
    grazie , seba!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qualcosa del genere

    codice:
        Private pColor As Color
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            pColor = Me.BackColor
            Timer1.Enabled = True
            Me.BackColor = Color.Red
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Timer1.Enabled = False
            Me.BackColor = pColor
        End Sub
    ma potresti tentare di scriverlo tu ... tentar non nuoce e serve ad imparare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    3
    quindi per il timer devo scrivere un'altra sub??
    io ho fatto mille prove.. quello che io avevo in mente era una cosa del genere:

    Private Sub Button1_Click_1(ByVal sen etc..
    timer1.enabled=true 'attivo il timer
    timer1.start 'faccio partire il timer
    BackColor = Color.Red 'cambio il colore mentre c'è il timer
    timer1.stop ' stoppo il timer , e il comando è avvenuto dentro al range di tempo del timer.
    end sub

    avrò scritto oscenità assurde , lo so , ma sono all'inizio quindi chiedo pazienza , scusate.. cosa c'è che non va in questo codice??

    e un'altra cosa , quel ME.backolor.. cosa significa ME.?? che comando è??

    grazie e scusate ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    3
    ooh finalmente è venuto fuori qualcosa!XD

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Timer1.Enabled = True

    BackColor = Color.Red

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Timer1.Enabled = False
    BackColor = Color.White

    End Sub

    così ottengo qualcosa di simile a quello che volevo.. per tornare al colore di prima devo inserire il colore esatto (dove ho inserito white) oppure c'è un comando che ripritina la situazione iniziale??
    l'errore che facevo era di cercare di risolvere tutto all'interno della sub del button1 senza scriver nulla in quella del timer..

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma scusa ... la mia risposta è invisibile o cosa ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Originariamente inviato da oregon
    Qualcosa del genere

    codice:
        Private pColor As Color
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            pColor = Me.BackColor
            Timer1.Enabled = True
            Me.BackColor = Color.Red
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Timer1.Enabled = False
            Me.BackColor = pColor
        End Sub
    ma potresti tentare di scriverlo tu ... tentar non nuoce e serve ad imparare ...
    Poi per farlo durare 5 secondi basta dichiarare una variabile di tipo intero con valore di 5, dopo di che imposti sul timer l'intervallo a secondi (non ricordo esattamente ma mi sembra che sia 1000) e ogni secondo sottrai il valore di 1 alla variabile... e quando raggiunge lo 0 disabiliti il timer e setti lo sfondo di partenza.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da GhostFire
    Poi per farlo durare 5 secondi basta dichiarare una variabile di tipo intero con valore di 5, dopo di che imposti sul timer l'intervallo a secondi (non ricordo esattamente ma mi sembra che sia 1000) e ogni secondo sottrai il valore di 1 alla variabile... e quando raggiunge lo 0 disabiliti il timer e setti lo sfondo di partenza.
    Basta inserire 5000 nell' Interval ... Solo questo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.