Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/04/2016, 17:15
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: Uso de "Timer" en lugar de "Thread.Sleep" C#

Si no existe el directorio, crearlo no sirve de nada ya que estará vacío y no encontrará imagenes así que es mejor salir del método.

Además repites demasiado código. De entrada yo haría algo así:

Código:
// Obtiene la ruta del exe del programa (guardarlo en variable path)
            string path = System.IO.Path.GetDirectoryName(
            System.AppDomain.CurrentDomain.BaseDirectory);
            List<string> imageExtensions = new List<string>() { ".jpg", ".gif", ".png" };
            
            // 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)) return;

            // Se realiza una lectura de archivos de imagen de la carpeta Media. 
            List<string> ficheros = new List<string>();
            foreach(string extension in imageExtensions)
            { 
                      ficheros.AddRange(Directory.GetFiles(lecturadearchivos, extension));
            }

            // Se hace el recorrido del arreglo ficheros (jpg). 
            foreach (string fichero in ficheros)
            {
                // Y se muestran las imagenes contenidas en dicho arreglo.
                pictureBox1.Image = Image.FromFile(fichero);

                //Hago una pausa para que puedan ver la imagen
                Thread.Sleep(1000);
                Application.DoEvents();
            }
        }
Igualmente yo quizás lo plantearía diferente. Al arrancar construyes el array con las imagenes. Y con un timer vas recorriendo la lista de imágenes, una en cada "tick". Así no haces un Thread.Sleep y no bloqueas al thread.
__________________
Aviso: No se resuelven dudas por MP!