void rssItemView_FadingComplete(object sender, EventArgs e) { try { switch (modo) { case Modo.Notícia: rssView.NextArticle(); rssDescriptionView.DisplayItem = rssView.SelectedItem; if (switchCount++ > 2 && fMercadorias != null) { switchCount = 3; ModoAtual = Modo.Mercadoria; rssDescriptionView.Dispose(); rssDescriptionView = null; } break; case Modo.Mercadoria: infoMercadoria.Dispose(); infoMercadoria = null; fMercadorias[mercadoriaAtual].LiberarFoto(); mercadoriaAtual = (mercadoriaAtual + 1) % fMercadorias.Length; if (mercadoriaAtual == 0) Carregar(); if (switchCount-- < 1 && rssView != null) { ModoAtual = Modo.Notícia; switchCount = 0; } else MostrarFoto(); if (mercadoriaAtual + 3 < fMercadorias.Length && !fMercadorias[mercadoriaAtual + 3].Preparada && carregar == null) { carregar = new Thread(CarregarPróximasFotos); carregar.Start(); } break; } } catch { Carregar(); } }
void infoMercadoria_FadingComplete(object sender, EventArgs e) { if (modo == Modo.Mercadoria) { infoMercadoria.Dispose(); infoMercadoria = null; fMercadorias[mercadoriaAtual].LiberarFoto(); mercadoriaAtual = (mercadoriaAtual + 1) % fMercadorias.Length; if (mercadoriaAtual == 0) Carregar(); if (switchCount-- < 1 && rssView != null) { ModoAtual = Modo.Notícia; switchCount = 0; } else MostrarFoto(); if (mercadoriaAtual + 3 < fMercadorias.Length && !fMercadorias[mercadoriaAtual + 3].Preparada && carregar == null) { carregar = new Thread(CarregarPróximasFotos); carregar.Start(); } } }
private void MostrarFoto() { try { if (InvokeRequired) { MétodoCallback método = new MétodoCallback(MostrarFoto); BeginInvoke(método); } else { Foto foto = fMercadorias[mercadoriaAtual]; if (!foto.Preparada) { MostrarNotícias(); if (carregar == null) { carregar = new Thread(new ThreadStart(CarregarPróximasFotos)); carregar.IsBackground = true; carregar.Start(); } } else { if (infoMercadoria != null) infoMercadoria.Dispose(); infoMercadoria = new InfoMercadoria(foto); InitializeMercadoriaView(); ModoAtual = Modo.Mercadoria; } } } catch { ModoAtual = Modo.Notícia; } }