Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - PASSAGGIO TRA FORM DOPO UN TEMPO DI INUTILIZZO
Forum - Visual Basic 6 - PASSAGGIO TRA FORM DOPO UN TEMPO DI INUTILIZZO

Avatar
GIUSEPPE80 (Normal User)
Newbie


Messaggi: 9
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 20:07
Venerdì, 15/07/2011
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

PM
Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Up
3
Down
V
Segnala al moderatore
Postato alle 20:56
Venerdì, 15/07/2011
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:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2.     Timer1.Enabled = False
  3.     Timer1.Enabled = True
  4. End Sub
  5.  
  6. Private Sub Timer1_Timer()
  7.     ##Qui scrivi l'azione che desideri##
  8. 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 ;))

ciao Milmor 94 scusa il ritardo con cui ti rispondo ma ero impegnato, volevo ringraziarti sei stato rapidissimo e precisissimo, e il tuo consiglio funziona alla grande e perfettamente. - GIUSEPPE80 - 27/07/11 00:16
Prego.. :) Mi fa piacere sapere che ti è stato utile! - Milmor94 - 27/07/11 11:53
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
Eheheh non sono sicuro di saperne più di te... Secondo me Visual Basic non implica il CONOSCERE concetti ma usare la logica e costruirsi il tutto... Ritornando a noi :-) Ti ho ripostato quello che ti serve! - Milmor94 - 27/07/11 23:10
PM
Avatar
Milmor94 (Normal User)
Rookie


Messaggi: 43
Iscritto: 10/07/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 23:06
Mercoledì, 27/07/2011
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:

Codice sorgente - presumibilmente VB.NET

  1. Private INDICE As Long
  2.  
  3. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  4.     Timer1.Enabled = False
  5.      INDICE = 0
  6.     Timer1.Enabled = True
  7. End Sub
  8.  
  9. Private Sub Timer1_Timer()
  10.     INDICE = INDICE + 1
  11.     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
  12.  
  13.         ' ##TuaAzione##
  14.        
  15.         'Resetta il valore
  16.         INDICE = 0
  17.     End If
  18. End Sub


Ultima modifica effettuata da Milmor94 il 27/07/2011 alle 23:13
PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 20:14
Venerdì, 15/07/2011
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.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM