PDA

Visualizza la versione completa : [VB] Programma in traybar dopo un certo tempo


MarcoDJ
12-05-2002, 21:37
Ciao a tutti

vi voglio fare una domandina, come posso mettere un programma nella traybar dopo un certo periodo di tempo?

Mi spiego, vorrei che un programma fosse visualizzato nella traybar dopo un certo tempo di non utilizzo da parte dell'utente, come si può fare?

Grazie a tutti

Marco

steno12
12-05-2002, 23:42
Studia questo codice
se non digiti caratteri e non muovi il mouse per 10 secondi, il programma si ferma. A te l'arduo compito di metterlo in TryBar.

fai un nuovo progetto con interfaccia grafica:
Un oggetto timer1 con proprietà interval impostata su 1000
text1.text
text2.text con proprietà text = 10 e proprietà visible su false
command1

poi incolla questo codice:
'CODICE---------taglia da quì------------------------
Dim cont

Private Sub Command1_Click()
Text1.Text = okay
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
cont = 0 'se digiti un carattere il contatore cont si riporta a 0
'Stop
End Sub

Private Sub Form_Load()
cont = 0
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
cont = 0 'se muovi il mouse il contatore cont si riporta a 0
'Stop
End Sub

Private Sub Timer1_Timer()
cont = cont + 1
'Stop
If cont = Val(Text2.Text) Then
Stop
'metti il prg nella trybar
End If
DoEvents
End Sub
'END-------------a quì--------------------

di okayit60@katamail.com
buon lavoro......e fammi sapere......

MarcoDJ
13-05-2002, 21:23
Ciao Steno

come sempre ti devo ringraziare per la tua pronta risposta, ho provato il codice e con pochi aggiustamenti sono riuscito a fare quello che volevo però vorrei chiederti ancora una cosetta.
Io ho un programma con 9 form per cui se metto il codice che mi hai dato sul primo quando apro gli altri su questi non ci sarà nessun effetto, giusto?
Il problema è che anche se io lo metto su tutti i form quando ne apro uno negli altri il codice continuerà a funzionare e mi farà andare il programma in traybar o sbaglio?

Attendo illuminazioni da te o sommo.....

Grazie ancora

Marco

steno12
14-05-2002, 07:44
Di solito si usa mettere in trybar il form principale:
prova a fare così:
quando richiami un form prima dell'istruzione
load e show form2
immetti timer1.disabled, così disabiliti il timer sul form 1 così anche per ogni altro form che si sta aprendo, nella routine del mouse e keydown metti la riga timer1.enabled prima di cont=0.
anche per gli altri form fai lo stesso:
Poi fai che ogni form abbia la stessa routine che alla scadenza del timer, solo del form attivo in quel momento, controlla i form aperti e chiuda tutti quelli aperti meno il primo o principale che va in trybar.
Aiutati con la routine Activate anche.
Oppure puoi anche fare che quando apri un form nella sua routine load scrivi, form1.timer1.enabled e cos+ per gli altri form, lasci attivo timer1.enabled solo su un form ovvero l'ultimo attivato.
Usa sempre la routine, sul form con timer1.enabled che controlla quelli aperti con if ....then

Loading