none
Error en cuenta regresiva RRS feed

  • Pregunta

  • Tengo un pequeño problema con esta cuenta regresiva, no me hace la cuenta regresiva, el código lo encontré aquí mismo y lo modifique, para que tomara un variable ingresada por el usuario, en formato de horas, pero ahora ya no me hace la cuenta regresiva. Agradecería su ayuda por favor. 

                    h1 = int.Parse(textBox9.Text);
                    h2 = int.Parse(textBox10.Text);

                    h = h1 - h2;
                    Math.Truncate(h);
                    time = TimeSpan.FromHours(h);

                    Timer timer = new Timer();
                    timer.Interval = 1000;

                    timer.Tick += (a, b) =>
                    {
                        time = time.Subtract(new TimeSpan(0, 0, 1));
                        TxbHorasRestantesM.Text = time.ToString();

                        if (time.Hours == 0)
                        {
                            timer.Stop();
                            return;
                        }
                    };
                    timer.Start();

    viernes, 23 de febrero de 2018 19:53

Respuestas

Todas las respuestas

  • Hola Laura Amador,

    [-] ... lo modifique, para que tomara un variable ingresada por el usuario en formato de horas ..

    ¿Te está mostrando algún error? ¿Qué valores estás asignándo al 'textBox9' y 'textBox10' (ejemplos)?

    Ambos textBoxs necesitan un valor que pueda ser convertido a número (int), si ahora se ingresa una hora hh:mm:ss la lógica tendría que cambiar.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 23 de febrero de 2018 20:13
  • No me esta mostrando ningún error, solo no realiza la cuenta regresiva... como aquí.

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            TimeSpan time;
    
            private void Form1_Load(object sender, EventArgs e)
            {
                time = TimeSpan.Parse("12:50:00");
    
                Timer timer = new Timer();
                timer.Interval = 1000;
    
                timer.Tick += (a, b) =>
                {
                    time = time.Subtract(new TimeSpan(0, 0, 1));
                    textBox1.Text = time.ToString();
    
                    if (time.Hours == 0)
                    {
                        timer.Stop();
                        return;
                    }
                };
                
                timer.Start();
    
            }
        }

    En si lo que quiero hacer es que, aquí: 

    time = TimeSpan.Parse("12:50:00");

    En vez de "12:50:00", sea una variable, la cual ingresara el usuario.

    Los valores de 'textBox9' y 'textBox10', son horas ingresadas:

    'textBox9' = horas de vida útil de una maquina.

     'textBox10' = horas trabajadas.

    Estos dos tengo que restarlos para conseguir las horas restantes de la maquina, esto es lo que quiero que sea la variable, el resultado de mi resta. Por lo tanto esto es lo que quiero que se decremente, la cuanta regresiva.

    "si ahora se ingresa una hora hh:mm:ss la lógica tendría que cambiar"

    Si, la resta seria una hora, como seria la lógica? 

    No se si me explique... 


    viernes, 23 de febrero de 2018 20:47
  • Deleted
    • Marcado como respuesta Laura Amador viernes, 23 de febrero de 2018 22:09
    viernes, 23 de febrero de 2018 22:01
  • Muchas gracias!
    viernes, 23 de febrero de 2018 22:10