Dans cette application, l'utilisateur défile dans une liste. Des information basiques sont affichées en temps réels lors du défilement.
Il y a par contre une temporisation de 250ms avant de lancer l'affichage d'une image correspondante (de façon à éviter que la procédure de chargement de l'image soit lancée pendant le défilement)
Après que l'image soit affichée il y a encore une temporisation de 5sec avant de lancer cette fois une video.
Code : Tout sélectionner
private Timer LoadBitmapTimer = new Timer();
private Timer LoadVideoTimer = new Timer();
LoadBitmapTimer.Elapsed += new ElapsedEventHandler(BitmapLoadStart);
LoadBitmapTimer.Interval = 250;
LoadVideoTimer.Elapsed += new ElapsedEventHandler(VideoLoadStart);
LoadVideoTimer.Interval = 5000;
// La procédure qui est appellée à chaque défilement dans la liste
void UpdateBasicData()
{
// Affichage d'éléments texte
// A chaque nouvel arret dans la liste, reset de la source du bitmap et de la video à NULL
// ...et reset des timers
LoadBitmapTimer.Stop();
LoadVideoTimer.Stop();
// Départ pour le différé de l'affichage de l'image
LoadBitmapTimer.Start();
}
void BitmapLoadStart(object source, ElapsedEventArgs e)
{
// Arret du timer pour ne pas qu'il se relance sans cesse
LoadBitmapTimer.Stop();
// Affichage de l'image
// Départ pour le différé de l'affichage de la video
LoadVideoTimer.Start();
}
void VideoLoadStart(object source, ElapsedEventArgs e)
{
// Arret du timer
LoadVideoTimer.Stop();
// Affichage de la video
}
Est-ce possible,et si oui qu'est ce que ca donnerait comme code?
Est-ce souhaitable ou vaut-il mieux continuer à utiliser des timers?
Merci de m'aider à y voir plus clair et à choisir ce qui est le plus efficace dans ce cas de figure!