hamadi_424
Messages postés26Date d'inscriptionjeudi 1 mars 2007StatutMembreDernière intervention16 octobre 2011
-
27 janv. 2009 à 19:08
fcaruso
Messages postés18Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention10 février 2009
-
2 févr. 2009 à 20:54
Bonjour,
Je veut parcourir un tableau d'image , voila l'algorithme que j'ai écrit:
namespace Test1
{
public class Image_control : UserControl
{
bool activer = false;
public Timer t;
ComponentResourceManager resources = new ComponentResourceManager(typeof(Image_control));
Image[] im = new Image[5];
this.BackgroundImage = im[0];
t = new Timer();
t.Interval = 500;
t.Tick += new System.EventHandler(t_Tick);
}
void t_Tick(object o, System.EventArgs e)
{
BackgroundImage = im[0];
int k ;
for (k = 1; k < 5; k + +)
{
if (BackgroundImage == im[k])
BackgroundImage = im[k + 1];
}
}
bool ACTIVER
{
get
{
return activer;
}
set
{
activer = value;
if (activer)
t.Start();
else
t.Stop();
}
}
hamadi_424
Messages postés26Date d'inscriptionjeudi 1 mars 2007StatutMembreDernière intervention16 octobre 2011 27 janv. 2009 à 21:48
Bonsoir,
voila la ou le probleme:
void t_Tick(object o, System.EventArgs e)
{
BackgroundImage = im[0];
int k ;
for (k = 1; k < 5; k + +)
{
if (BackgroundImage == im[k])
BackgroundImage = im[k + 1];
}
}
je ne trouve pas le resultat voulu, il affiche seulement les 2 premiers images.
hamadi_424
Messages postés26Date d'inscriptionjeudi 1 mars 2007StatutMembreDernière intervention16 octobre 2011 28 janv. 2009 à 11:11
j'ai fait un gif en background, mon but est de trouver un moyen permettant de changer les gif, chaque fois je trouve un nouveau gif après un timer comme un album.
En meme temps, le BackGroundImage va etre serialisé avec la form sur lequel il est posé et c'est pas cool !
Ajoute au moins un :
private bool ShouldSerializeBackGroundImage()
{
return false;
}
Sinon le mieux est d'implementer ISupportInitialize et de déplacer le code du constructeur vers le EndInit avec un test sur DesignMode...
Puis attention : Timer est IDisposable.... il faut faire un Dispose dessus !!!
Le plus simple est d'ajouter le Timer au controle à partir de la ToolBox...
Et effectivement "public bool Activer" ca fait plus serieux que "bool ACTIVER"....