
Uso de "Timer" en lugar de "Thread.Sleep" C#
Publicado por Antonio (3 intervenciones) el 13/04/2016 00:42:49
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?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 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();
}
}
Valora esta pregunta


0