CLIGNOTEMENT EN VISUAL BASIC AVEC LE CONTRÔLE "TIMER"
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
15 juin 2005 à 14:02
zonebleue
Messages postés73Date d'inscriptionsamedi 15 janvier 2005StatutMembreDernière intervention16 octobre 2007
-
28 oct. 2005 à 15:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
zonebleue
Messages postés73Date d'inscriptionsamedi 15 janvier 2005StatutMembreDernière intervention16 octobre 2007 28 oct. 2005 à 15:17
hè bayeds, pourquoi tu mes un code de flash dans la catégorie multimédia ????
djmerlone
Messages postés4Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention24 juin 2005 24 juin 2005 à 22:03
Non non :-) Jinsiste merci a toi de m'aider !
Ici aussi je debute completement le vb.net ...
Sympas, merci encore ..
Ps: " Oui la proprité enabled du timer n'existe pas en VB .Net ! " - Oui, Elle exitste quand elle a linterieur dun timer_tick ...
Optitech
Messages postés134Date d'inscriptionsamedi 19 octobre 2002StatutMembreDernière intervention 3 janvier 2009 24 juin 2005 à 12:42
Merci de ta réposne !
Oui la proprité enabled du timer n'existe pas en VB .Net ! mias je ne ooiuvait pas savoir que ce que tu voulait faire devait être en .Net ! Je vias essyer de réfléchir à ton problème ! Mais je n'y connais pas trop en Vb .Net car je commence !
@++
Optitecg ^^
djmerlone
Messages postés4Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention24 juin 2005 23 juin 2005 à 23:57
" Ce que je comprend s'est que tu as un PictureBox avec une image A et une image B et tu vuet que toute les 5 secondes l'image A soit remplaceé par l'image B et inversement. et tu veut que quand c'est l'image B qui est afficher elle clignote toute les 2 sec c'est ca ?? "
Ops , pardon javais pas repondu juste avant mon dernier message.
Oui c'est bien ca Optitech.
djmerlone
Messages postés4Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention24 juin 2005 23 juin 2005 à 22:09
Ok merci , bon en fait je pense que cest pas tout as fait la meme chose en vb.net ( jai visual studio 2003), pour certain mot clé ou methode. Par exemple la ligne ou tu as ecris: Timer2000ms.Enabled = False , et Timer2000ms.Enabled = True se souligne en bleu O_O
Doh , po facile eheh :-)
Optitech
Messages postés134Date d'inscriptionsamedi 19 octobre 2002StatutMembreDernière intervention 3 janvier 2009 23 juin 2005 à 19:53
Slt !
Ce que je comprend s'est que tu as un PictureBox avec une image A et une image B et tu vuet que toute les 5 secondes l'image A soit remplaceé par l'image B et inversement. et tu veut que quand c'est l'image B qui est afficher elle clignote toute les 2 sec c'est ca ??
Si c'est cela tu peut utilisé 2 timer à un interval de 5000 ms et un autre de 2000 ms ! Il fuat que le timer qui à 1 interval de 2000 ms est la propriété Enabled à False. Pour les images je te conseil un ImageList (disponible dans le composant Microsoft Windows Common Controls 5.0 ou 6.0) c'est super pratique pour cahrger les images dont tu as besoin et au lieu d'utiliser un PictureBox utilise le controle nommé Image.
Voila le code que j'utiliserait pour faire cela :
#Debut du code#
Option Explicit ' On est obliger de déclarer le variables
Dim x As Integer ' Soit la varibles x un interger (entre -32768 et 32767)
x = 1 ' on initialise x à 1
Private Sub Form_Load() ' Au chargment de la feuille
ImageList1.ListImages.Add 1, "", LoadPicture(App.Path & "\imageA.jpg") ' On charger l'image A
ImageList1.ListImages.Add 2, "", LoadPicture(App.Path & "\imageB.jpg") ' On charger l'image B
Image1.Picture = LoadPicture(ImageList1.ListImages.Item(1)) ' On affihce l'image A
End Sub
Private Sub Timer2000ms_Timer()
If Image1.Visible = True Then
'on cache
Image1.Visible = False
Else
'on affiche
Image1.Visible = True
End If
End Sub
Private Sub Timer5000ms_Timer() 'Timer qui ordonne le changement d'image
Timer2000ms.Enabled = False ' on eteind le clignotement
Image1.Visible = True ' On affiche car pour faire clignoté on l'efface !
Else
'On déclanche le clignotement toute les 2 secondes !
Timer2000ms.Enabled = True
End If
End Sub
#Fin du code#
J'espère que c'est ce que tu as demandé ! Sinon c'est pas grave ca peut toujours servir ! Et si tu n'a pas comprit ou que cela ne marhce pas n'exite pas à ecrire un post !
@++
Optitech
djmerlone
Messages postés4Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention24 juin 2005 23 juin 2005 à 18:36
Et pour faire alterner 2 images (picturebox) avec timer a 5 secondes dont l' autre image clignote pendant 2 secondes?
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 16 juin 2005 à 19:39
rajoute un thread par dessus ça et on peut faire n'importe quoi lol
Optitech, c'est une habitude de poster en double lol
Optitech
Messages postés134Date d'inscriptionsamedi 19 octobre 2002StatutMembreDernière intervention 3 janvier 2009 16 juin 2005 à 15:09
Oui en super en .Net ! J'ai VS.Net chez moi mais mon PC n'arrive pas le lancer un demande beuacoup trops de puissance !
Mais l'héraitgae c'est un outil surper ! on peut faire plein de truc très simplat ! Donc de boutto nqui clignote ou même qui se dépalce tout seul, etc...
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 16 juin 2005 à 13:56
au moins, je l'ai faite sur un bouton mais avec l'héritage en .net avec la possibilité de le faire clignoter ou non et de modifier la vitesse et/ou changer les couleur pendant l'éxécution
c'est déjà pas mal plus complet et ça montre l'héritage sur un code source simple
Optitech
Messages postés134Date d'inscriptionsamedi 19 octobre 2002StatutMembreDernière intervention 3 janvier 2009 16 juin 2005 à 10:57
Oui ta source n'a rien d'exeptionnelle ! Mais avec on peut apprendre d'autre chose on peut apprendre à ce servir des tableaux ! LA ta source en fiat que le clignotement qu'avec 2 couleur pourquoi par 3,4,5,... couleurs ou controle c'est possible mais pas avec ta méthode car rapidement on aurat de scentianes de lignes de codes ! L'un des problèe de ta source c que on doit mettre en palce dès le début les couleurs. Voilà ce que je te propose pour rajouté des couleur est des controles ! Mon exmeple est basé sur ta source !
Debut de mon code
Dim i As Integer 'Décalration de la variable i en varialve global (La mettre au tout début du code sinon ne fonctionne pas)
Private Sub Timer1_Timer()
Dim tabfrom, tablabel 'Déclaration de deux variables
tabfrom = Array(&HFF&, &HFFFFFF) 'Mise en palce du tableau des couleurs pour la form
tablabel = Array(&HFFFFFF, &HFF&) 'Mise en palce du tableau des couleurs pour le label
Form1.BackColor = tabfrom(i) 'Mise en palce de la couleur de l'arrière plan de la from
Label1.BackColor = tablabel(i) 'Mise en palce de la couleur de l'arrière plan du label
i = i + 1 'on rajoute 1 à i
If i 2 Then i 0 'si i = 2 alors i=0 (Oui avec cette disposion on n'est pas obligé de mettre le End If)
End Sub
Fini de mon code
Pour rajouté de scouelur il suffit de raojute le code de la couluer choisi dnas Array(&HFF&, &HFFFFFF ,CODE DE LA COULEUR, UN AUTRE CODE, etc..., ..., ...) Attention il doit y avoir le même nombre de couelru dans chaque tableu et il faut modifer le if à la fin de la sub pour que cela focntionne !
Pour rajouter de controle qui clignote :
CONTROLE.PROPRIETE = TABLEAU(i)
Voila j'espère que tu as comprit ce que j'ai mit s'il y a des question n'esiter pas !
@++
Optitech
thebrainwasher
Messages postés20Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention18 août 2007 15 juin 2005 à 22:07
oua magnifique, c'est dingue ce qu'on peut faire en vb
cs_Pingouin
Messages postés262Date d'inscriptionlundi 26 août 2002StatutMembreDernière intervention24 août 2005 15 juin 2005 à 18:05
Déception...
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 15 juin 2005 à 16:57
Idem, clair qu'on pense directement au Macromedia Flash!!!
Et idem aussi sur l'intéret d'une telle source!!!
Mais comme c'est ta première source... on t'en veux pas :-D
Soit le bienvenu et persévère...
A bientot pour ta prochaine source! ;-)
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 15 juin 2005 à 16:01
Mouai, aucun interet...
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 15 juin 2005 à 15:01
ben flash en vb ça fonctionne très bien, pis ça prend le même nombre de ligne lol
désoler mais source sans intéret, le but d,une source est d'apprendre, mais là ....
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 15 juin 2005 à 14:49
Bonjour,
Y a plus simple et sans couleur.
Private Sub Timer1_Timer()
' AFFICHAGE OU NON DU LABEL
Label1.Visible = Not Label1.Visible
End Sub
@++
[GALLY HOME CORP]
jrbleboss
Messages postés480Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention 3 septembre 20071 15 juin 2005 à 14:11
Moi aussi je croyais que c'etait du flash(le language).
La ya pas un grabd interet mais bon.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 15 juin 2005 à 14:02
Ce code ne fonctionne que si on initialise les couleurs de fond du label et du formulaire à une des deux données (FF ou FFFFFF).
Quand j'ai vu le titre (FLASH EN VISUAL BASIC), je me suis dit ... "Tiens, du Macromedia Flash".
Bah non en fait....
Ton code est simplifiable, il y a un peu trop de répétitions :
1. Private Sub Timer1_Timer()
1,5 With Label1
2. If .BackColor = &HFFFFFF Then
3. .BackColor = &HFF&
4. Else
5. .BackColor = &HFFFFFF
6. End If
7. End With
7,5 With Form1
8. If (.BackColor = &HFFFFFF) Then
9. .BackColor = &HFF&
10. Else
11. .BackColor = &HFFFFFF
12. End If
12,5 End With
13. End Sub
28 oct. 2005 à 15:17
24 juin 2005 à 22:03
Ici aussi je debute completement le vb.net ...
Sympas, merci encore ..
Ps: " Oui la proprité enabled du timer n'existe pas en VB .Net ! " - Oui, Elle exitste quand elle a linterieur dun timer_tick ...
24 juin 2005 à 12:42
Oui la proprité enabled du timer n'existe pas en VB .Net ! mias je ne ooiuvait pas savoir que ce que tu voulait faire devait être en .Net ! Je vias essyer de réfléchir à ton problème ! Mais je n'y connais pas trop en Vb .Net car je commence !
@++
Optitecg ^^
23 juin 2005 à 23:57
Ops , pardon javais pas repondu juste avant mon dernier message.
Oui c'est bien ca Optitech.
23 juin 2005 à 22:09
Doh , po facile eheh :-)
23 juin 2005 à 19:53
Ce que je comprend s'est que tu as un PictureBox avec une image A et une image B et tu vuet que toute les 5 secondes l'image A soit remplaceé par l'image B et inversement. et tu veut que quand c'est l'image B qui est afficher elle clignote toute les 2 sec c'est ca ??
Si c'est cela tu peut utilisé 2 timer à un interval de 5000 ms et un autre de 2000 ms ! Il fuat que le timer qui à 1 interval de 2000 ms est la propriété Enabled à False. Pour les images je te conseil un ImageList (disponible dans le composant Microsoft Windows Common Controls 5.0 ou 6.0) c'est super pratique pour cahrger les images dont tu as besoin et au lieu d'utiliser un PictureBox utilise le controle nommé Image.
Voila le code que j'utiliserait pour faire cela :
#Debut du code#
Option Explicit ' On est obliger de déclarer le variables
Dim x As Integer ' Soit la varibles x un interger (entre -32768 et 32767)
x = 1 ' on initialise x à 1
Private Sub Form_Load() ' Au chargment de la feuille
ImageList1.ListImages.Add 1, "", LoadPicture(App.Path & "\imageA.jpg") ' On charger l'image A
ImageList1.ListImages.Add 2, "", LoadPicture(App.Path & "\imageB.jpg") ' On charger l'image B
Image1.Picture = LoadPicture(ImageList1.ListImages.Item(1)) ' On affihce l'image A
End Sub
Private Sub Timer2000ms_Timer()
If Image1.Visible = True Then
'on cache
Image1.Visible = False
Else
'on affiche
Image1.Visible = True
End If
End Sub
Private Sub Timer5000ms_Timer() 'Timer qui ordonne le changement d'image
Timer2000ms.Enabled = False ' on eteind le clignotement
Image1.Visible = True ' On affiche car pour faire clignoté on l'efface !
Image1.Picture = LoadPicture(ImageList1.ListImages.Item(1))
x = x + 1 'on rajoute 1 à x
If x = 3 Then
x 1 ' x 1 car il n'y pas 3 image
Else
'On déclanche le clignotement toute les 2 secondes !
Timer2000ms.Enabled = True
End If
End Sub
#Fin du code#
J'espère que c'est ce que tu as demandé ! Sinon c'est pas grave ca peut toujours servir ! Et si tu n'a pas comprit ou que cela ne marhce pas n'exite pas à ecrire un post !
@++
Optitech
23 juin 2005 à 18:36
16 juin 2005 à 19:39
Optitech, c'est une habitude de poster en double lol
16 juin 2005 à 15:09
Mais l'héraitgae c'est un outil surper ! on peut faire plein de truc très simplat ! Donc de boutto nqui clignote ou même qui se dépalce tout seul, etc...
16 juin 2005 à 13:56
au moins, je l'ai faite sur un bouton mais avec l'héritage en .net avec la possibilité de le faire clignoter ou non et de modifier la vitesse et/ou changer les couleur pendant l'éxécution
c'est déjà pas mal plus complet et ça montre l'héritage sur un code source simple
16 juin 2005 à 10:57
Debut de mon code
Dim i As Integer 'Décalration de la variable i en varialve global (La mettre au tout début du code sinon ne fonctionne pas)
Private Sub Timer1_Timer()
Dim tabfrom, tablabel 'Déclaration de deux variables
tabfrom = Array(&HFF&, &HFFFFFF) 'Mise en palce du tableau des couleurs pour la form
tablabel = Array(&HFFFFFF, &HFF&) 'Mise en palce du tableau des couleurs pour le label
Form1.BackColor = tabfrom(i) 'Mise en palce de la couleur de l'arrière plan de la from
Label1.BackColor = tablabel(i) 'Mise en palce de la couleur de l'arrière plan du label
i = i + 1 'on rajoute 1 à i
If i 2 Then i 0 'si i = 2 alors i=0 (Oui avec cette disposion on n'est pas obligé de mettre le End If)
End Sub
Fini de mon code
Pour rajouté de scouelur il suffit de raojute le code de la couluer choisi dnas Array(&HFF&, &HFFFFFF ,CODE DE LA COULEUR, UN AUTRE CODE, etc..., ..., ...) Attention il doit y avoir le même nombre de couelru dans chaque tableu et il faut modifer le if à la fin de la sub pour que cela focntionne !
Pour rajouter de controle qui clignote :
CONTROLE.PROPRIETE = TABLEAU(i)
Voila j'espère que tu as comprit ce que j'ai mit s'il y a des question n'esiter pas !
@++
Optitech
15 juin 2005 à 22:07
15 juin 2005 à 18:05
15 juin 2005 à 16:57
Et idem aussi sur l'intéret d'une telle source!!!
Mais comme c'est ta première source... on t'en veux pas :-D
Soit le bienvenu et persévère...
A bientot pour ta prochaine source! ;-)
15 juin 2005 à 16:01
15 juin 2005 à 15:01
désoler mais source sans intéret, le but d,une source est d'apprendre, mais là ....
15 juin 2005 à 14:49
Y a plus simple et sans couleur.
Private Sub Timer1_Timer()
' AFFICHAGE OU NON DU LABEL
Label1.Visible = Not Label1.Visible
End Sub
@++
[GALLY HOME CORP]
15 juin 2005 à 14:11
La ya pas un grabd interet mais bon.
15 juin 2005 à 14:02
Quand j'ai vu le titre (FLASH EN VISUAL BASIC), je me suis dit ... "Tiens, du Macromedia Flash".
Bah non en fait....
Ton code est simplifiable, il y a un peu trop de répétitions :
1. Private Sub Timer1_Timer()
1,5 With Label1
2. If .BackColor = &HFFFFFF Then
3. .BackColor = &HFF&
4. Else
5. .BackColor = &HFFFFFF
6. End If
7. End With
7,5 With Form1
8. If (.BackColor = &HFFFFFF) Then
9. .BackColor = &HFF&
10. Else
11. .BackColor = &HFFFFFF
12. End If
12,5 End With
13. End Sub