Oppure

Loading
15/07/11 18:07
GIUSEPPE80
Salve a tutti ragazzi, ritorno a rivisitare il forum dopo 3 mesi e noto con piacere che siamo sempre in numerosi.
Ho anche ripreso con visual basic 6.
Ho una domanda da fare:
Come posso se sono in una form esempio di un sottomenù, dopo un certo periodo di inutilizzo aprirne un'altra?
Cerco di essere più chiaro.
Provo a creare un programma di giornali dove ho la form principale con tutti i comand button tipo form1(gazzetta)form2(corriere)
Se clicco su gazzetta mi apre ad esempio il webbrowser con il link della gazzetta, ma vorrei che dopo un lasso di tempo di inutilizzo,cioè che nessuno muove niente, mi ritorni un'altra volta al form principale per poter scegliere un'altro giornale.
Penso si possa fare.
Confido in voi.
Grazie
aaa
15/07/11 18:14
Thejuster
Non sò, ma magari un'idea l'avrei.
inserisci un evento se è disponibile in vb6

MouseIn e MouseOver.

ogni volta che il mouse esce o rientre nella finestra resetta un timer.
altrimenti il timer continua a contare fino a chiudere la form e tornare alla principale.
mire.forumfree.it/ - Mire Engine
C# UI Designer
15/07/11 18:56
Milmor94
Devi prima di tutto inserire un timer e impostare la durata "Interval" (nella casella delle proprietà a destra) con il lasso di tempo che desideri (in millisecondi). In seguito potresti usare un codice simile al seguente:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer1.Enabled = False
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    ##Qui scrivi l'azione che desideri##
End Sub


In poche parole ecco cosa fa: ogni volta che il form viene sfiorato ricomincia il contro alla rovescia e allo scadere del tempo compie l'azione che hai deciso.

Fammi sapere se funziona.... :k: (e vota +1 ;))
aaa
27/07/11 21:06
Milmor94
Ciao scusa se ti disturbo ancora, ma visto che ne sai più di me , ti chiedo se è possibile dato che vb6 accetta un intervallo max di 60000 nel timer come fare a aumentare il tempo nell'evento. Grazie - GIUSEPPE80 - 27/07/11 20:43

Ci tengo a precisare che sono in vacanza con il portatile e avendo installato su questo pc solo VB.NET2008 non riesco a provare il tuo progetto... :hail:
Detto ciò, credo che qui si aprano diverse strade
Quella che mi sembra più opportuna in questo caso è la seguente:

Private INDICE As Long

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer1.Enabled = False
     INDICE = 0
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    INDICE = INDICE + 1
    If INDICE = 5 Then 'In questa riga occorre tenere presente del valore interval che hai impostato. Ad esempio se hai impostato Interval=1000 il valore 5 che ti ho postato come esempio ti permette di eseguire l'azione che desideri dopo 5 secondi. Ancora, se hai impostato Interval=60000 il valore 5 ti esegue l'azione ogni 5 minuti. Tieni presente che Interval e il valore (es.5) devi "giocarli" tu secondo questo semplice schema: INTERVAL*VALORE = TEMPO OTTENUTO

        ' ##TuaAzione##
        
        'Resetta il valore
        INDICE = 0
    End If
End Sub
Ultima modifica effettuata da Milmor94 27/07/11 21:13
aaa