elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Pausa en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pausa en C#  (Leído 7,162 veces)
JayJay0525

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Pausa en C#
« en: 5 Septiembre 2018, 05:22 am »

Buenas chicos, necesito hacer una pausa para que no siga ejecutando el código de un método. Intente hacerlo con Sleep pero me pausa literalmente el programa y necesito que siga funcionando, también intente hacerlo con un Timer pero cuando llega al Timer.Start() lo que hace es que entra el Timer pero continua ejecutando la siguiente linea normal y necesito que se espere 1min antes de ir a la siguiente linea.

Por ejemplo digamos que tengo:
Citar
private void MostrarMensaje()
{
      MessageBox.Show("Mensaje 1");
      //Hacer pausa de 1min
      MessageBox.Show("Mensaje 2");
}

Hay alguna forma de hacer una pausa luego de mostrar el mensaje 1 pero que siga funcionando el programa?


En línea

b0nete

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Pausa en C#
« Respuesta #1 en: 5 Septiembre 2018, 05:45 am »

Creo que con una googleada lo hubieses encontrado bastante rápido.

int milliseconds = 2000; Thread.Sleep(milliseconds);

Eso son 2 segundos.

Por otro lado, para C# te recomiendo msdn.microsoft que es el foro oficial. O stackoverflow para cualquier lenguaje.

Saludos.

Enviado desde mi D2305 mediante Tapatalk


En línea

JayJay0525

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Pausa en C#
« Respuesta #2 en: 5 Septiembre 2018, 05:56 am »

Buenas pero con Sleep se paran todos los procesos y necesito que la interfaz de usuario se mantenga activa. Estoy leyendo sobre programación asincronica que según me dicen seria lo que necesito.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Pausa en C#
« Respuesta #3 en: 5 Septiembre 2018, 06:23 am »

Intente hacerlo con Sleep pero me pausa literalmente el programa

Lo apropiado sería decir que se pausa el hilo de la interfaz gráfica, precisamente por que estás ejecutando dicha orden (System.Threading.Thread.Sleep) en dicho hilo. Aperte de eso, la función System.MessageBox.Show también es una llamada bloqueante, es decir, que también bloquea el hilo, pero no me ha quedado claro si el primer mensaje quieres que sea bloqueante o no...

Deberías documentarte al respecto, y practicar, puesto que la programación asincrónica a corto o largo plazo forma parte necesaria de las necesidades de un programador...




Para resolver el problema que has expuesto bien puedes solucionarlo de forma simple y sencilla mediante el uso de la clase System.Threading.Tasks.Task:

Código
  1. private void MostrarMensaje() {
  2. Task t = new Task(() => {
  3. MessageBox.Show("Mensaje 1");
  4. Thread.Sleep(TimeSpan.FromMinutes(1));
  5. MessageBox.Show("Mensaje 2");
  6. });
  7.  
  8. t.Start();
  9. }

Saludos.
« Última modificación: 5 Septiembre 2018, 06:30 am por Eleкtro » En línea

JayJay0525

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Pausa en C#
« Respuesta #4 en: 5 Septiembre 2018, 07:11 am »

Gracias por la información, ya me pongo a estudiar sobre programación asincronica  ;-) 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hacer pausa en vb
Programación Visual Basic
cobra_90 4 8,350 Último mensaje 11 Agosto 2006, 08:43 am
por cobra_90
se me pone el pausa
Juegos y Consolas
comport 1 1,539 Último mensaje 15 Noviembre 2006, 23:22 pm
por Division-x
Pausa de un Programa en C
Programación C/C++
rieraj5 1 5,542 Último mensaje 10 Julio 2015, 05:53 am
por crack81
Necesito ayuda: Cronómetro con pausa incluida
Scripting
.:Xx4NG3LxX:. 6 3,736 Último mensaje 10 Enero 2020, 22:56 pm
por .:Xx4NG3LxX:.
poner en pausa datos grilla c#
.NET (C#, VB.NET, ASP)
djnilo 1 5,106 Último mensaje 30 Agosto 2022, 21:05 pm
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines