Oppure

Loading
25/01/07 17:25
toniobr
Innanzitutto congratulazioni per il sito ed il forum , ottima iniziativa ;) e davvero ben fatto :k:

Veniamo al dunque ,

ho la necessità due immagini nel form , immaginate la lampadina , e farla accendere e spegnere .
Io ho utilizzatto l'oggetto picturebox , ne ho usati 2 , uno per la lampada accesa e uno per la lampada spenta , li ho messi uno sull'altro con la lampada accesa in primo piano .
Ora , attravero la proprietà visible della lampada accesa , posso accendere e spegnere la lampada .
Dov'è il problema?
Facendo lampeggiare la lampada , cioè spegendola e riaccendendola , si crea una sorta di sfarfallio poco piacevole :(

Penso sia un prob di refresh , non attribuibile alla scheda video del PC in quanto ho provato lo stessi prg su più computer diversi .

Spero di essere stato chiaro e che qualcuno possa aiutarmi a risolvere il prob ;)

Bye , grazie e a presto!
Ultima modifica effettuata da toniobr 25/01/07 17:27
aaa
26/01/07 15:04
P4p3r0g4
non so se sia un problema di refresh.
hai provato a metterne solo una e a cambiarel'imagine?
aaa
26/01/07 22:05
toniobr
Allora ,
ho provato ad inserire 3 picture box ,
uno per la lampada accesa , uno per la lampada spenta entrambi impostati in modalità invisibile ed il terzo visibile che richiama nella prop picture una delle due lampade ... nulla da fare , stesso ed identico problema :(
aaa
27/01/07 13:58
P4p3r0g4
Option Explicit
Dim a As Boolean
Private Sub Picture1_Click()
If a = True Then
Picture1.Picture = Picture2.Picture
a = False
Else
Picture1.Picture = Picture3.Picture
a = True
End If
End Sub

Private Sub Picture1_dblClick()
If a = True Then
Picture1.Picture = Picture2.Picture
a = False
Else
Picture1.Picture = Picture3.Picture
a = True
End If
End Sub

conta anche il dblclick

e comunque non è il refersh. prova a mettere l'evento di cambiamento in un pulsante o in un timer...
Ultima modifica effettuata da P4p3r0g4 27/01/07 14:02
aaa
27/01/07 20:28
toniobr
se inserisci l'evento timer vedi che il problema persiste :(
aaa
28/01/07 10:25
P4p3r0g4
Option Explicit
Dim a As Boolean
Private Sub Timer1_Timer()
If a = True Then
Picture1.Picture = Picture2.Picture
a = False
Else
Picture1.Picture = Picture3.Picture
a = True
End If
End Sub 


ti da ancora il refresh lento?
quali sono le dimensioni delle immagini che usi?
quale la loro estensione?
aaa
30/01/07 16:31
toniobr
Risolto!!! così :
:alert:

Private Sub Timer1_Timer()

Static a As Boolean
If a = True Then
a = False
Else
a = True
End If

If a = True Then
Picture3.PaintPicture Picture1.Picture, 0, 0
Else
Picture3.PaintPicture Picture2.Picture, 0, 0
End If

End Sub
aaa