Buenas tardes a todos en el foro, tengo un pequeño sistema de publicidad, en el cual guardo las rutas de unas imágenes en un arreglo y posteriormente recorro dicho arreglo y muestro las imágenes. Para poder visualizar la imágen de cada arreglo he usado el Thread.Sleep, todo funciona perfecto a excepción de los archivos con extensión (.gif). Ya que según un usuario este evita que se reproduzca y habría que cambiarlo por un timer. He probado con diferentes videos y no funciona mi código con el uso del timer (no se si sea porque recorro un arreglo o me falte declarar una librería) . Esperaba que alguien aqui pudiera ayudarme. Les dejo mi codigo para que observen donde coloque los Thread.Sleep, se supone que solo debo poner el código y ya o cómo?
Código:
// Obtiene la ruta del exe del programa (guardarlo en variable path)
string path = System.IO.Path.GetDirectoryName(
System.AppDomain.CurrentDomain.BaseDirectory);
// Comprueba si el directorio "Media" existe en donde se encuentra el ejecutable previamente obtenido.
string miDirectorio = @path + @"\Media";
// Si existe no hace nada y si no existe crea la carpeta
if (!Directory.Exists(miDirectorio))
Directory.CreateDirectory(miDirectorio);
// Se realiza una lectura de archivos jpg, png y gif en la carpeta Media. Todas las rutas se almacenan en arreglos.
string lecturadearchivos = @miDirectorio;
// Arreglo de archivos jpg
string[] ficheros = Directory.GetFiles(lecturadearchivos, "*.jpg");
// Arreglo de archivos png
string[] ficheros2 = Directory.GetFiles(lecturadearchivos, "*.png");
// Arreglo de archivos gif
string[] ficheros3 = Directory.GetFiles(lecturadearchivos, "*.gif");
// Se hace el recorrido del arreglo ficheros (jpg).
foreach (string ruta in ficheros)
{
// Y se muestran las imagenes contenidas en dicho arreglo.
pictureBox1.Image = Image.FromFile(ruta);
//Hago una pausa para que puedan ver la imagen
Thread.Sleep(1000);
Application.DoEvents();
}
// Se hace el recorrido del arreglo ficheros2 (png).
foreach (string ruta2 in ficheros2)
{
// Y se muestran las imagenes contenidas en dicho arreglo.
pictureBox1.Image = Image.FromFile(ruta2);
//Hago una pausa para que puedan ver la imagen
Thread.Sleep(1000);
Application.DoEvents();
}
// Se hace el recorrido del arreglo ficheros3 (gif).
foreach (string ruta3 in ficheros3)
{
// Y se muestran las imagenes contenidas en dicho arreglo.
pictureBox1.Image = Image.FromFile(ruta3);
//Hago una pausa para que puedan ver la imagen
Thread.Sleep(1000);
Application.DoEvents();
}
}