none
Jak pomocí DateTimePicker spustit předem vybraný program ?

    Dotaz

  • Dobrý den. Mám fomulářovou aplikaci, ve ktere se nejprve vybere program a poté se má pomocí DateTimePicker  zadat datum a čas spuštění. Vše mám jen si nevím rady s tímhle :( vůbec nevím jak začít. Hledal jsem na googlu i zde na msdn ale nenašel (asi protože sem lama...)

    Poradí někdo ?

    6. června 2010 12:51

Odpovědi

  • Pridaj si Timer, nastav interval na 1000. Ja som použil 2x DateTimerPicker komponenty (pričom druhý mal Format nastavený na Time). Niekde môžeš dať tlačidlo, ktorým spustíš odpočítavanie, pridáš doň timer1.Enabled = True;

    //Nejako takto by mal vyzerat event timeru - Tick
    //dateTimePicker1 - datum
    //dateTimePicker2 - cas
    //Porovna ci je zadany datum zhodny s aktualnym
    //Potom porovna zadane hodiny a minuty s aktualnym casom
    private void timer1_Tick(object sender, EventArgs e)
    {
      if (DateTime.Now.Date == dateTimePicker1.Value.Date)
      {
        if (DateTime.Now.TimeOfDay.Hours == dateTimePicker2.Value.TimeOfDay.Hours &&
          DateTime.Now.TimeOfDay.Minutes == dateTimePicker2.Value.TimeOfDay.Minutes)
        {
          //Vypni timer
          timer1.Enabled = false;
          //Vykonaj ulohy
          System.Diagnostics.Process.Start(@"c:\program.exe");
        }
      }
    }

    13. června 2010 8:58

Všechny reakce

  • Pokud nevíte, jak spustit nějaký program v určený čas, podívejte se na záznam mé přednášky na konferenci knetlik (je to druhá v pořadí v čase 10:20)

    http://www.knetlik.cz/

    Pokud potřebujete poradit s něčím jiným, upřesněte co Vás vlastně trápí.

    6. června 2010 19:02
  • Abych to lépe vysvětlil. Mám form a tam monthCalendar a dateTimePicker (nastaveny na formát - time). A teťkom bych chtěl aby uživatel zadal den a čas kdy se má program spustit .

    zatím jsem něco zkoušel ale je to asi cele blbě.Nevím jak mám vyjádřit aby se ten program ve vybraném datumu a času spustil :(

     if (monthCalendar1.SelectionStart != monthCalendar1.SelectionEnd)
          {
            System.Diagnostics.Process.Start(@"c:\program.exe");
    
          }

     

    7. června 2010 8:51
  • Pridaj si Timer, nastav interval na 1000. Ja som použil 2x DateTimerPicker komponenty (pričom druhý mal Format nastavený na Time). Niekde môžeš dať tlačidlo, ktorým spustíš odpočítavanie, pridáš doň timer1.Enabled = True;

    //Nejako takto by mal vyzerat event timeru - Tick
    //dateTimePicker1 - datum
    //dateTimePicker2 - cas
    //Porovna ci je zadany datum zhodny s aktualnym
    //Potom porovna zadane hodiny a minuty s aktualnym casom
    private void timer1_Tick(object sender, EventArgs e)
    {
      if (DateTime.Now.Date == dateTimePicker1.Value.Date)
      {
        if (DateTime.Now.TimeOfDay.Hours == dateTimePicker2.Value.TimeOfDay.Hours &&
          DateTime.Now.TimeOfDay.Minutes == dateTimePicker2.Value.TimeOfDay.Minutes)
        {
          //Vypni timer
          timer1.Enabled = false;
          //Vykonaj ulohy
          System.Diagnostics.Process.Start(@"c:\program.exe");
        }
      }
    }

    13. června 2010 8:58
  • Jo moc díky funguje to jak jsem chtěl, ale někdy se to spustí dříve....třeba když je 12:00 a ja dam at se to spustí do minuty takže 12:01 tak se to spustí hned...což nechápu...jinak v poho :)
    22. června 2010 20:45