2016-12-06 1 views
-1
private void button1_Click(object sender, EventArgs e) 
    { 
     int minutes = Convert.ToInt32(numericUpDown1.Value); 

     if (minutes > 0) 
     { 
      int secs = minutes * 60; 
      progressBar1.Maximum = secs; 
      timer1.Enabled = true; 

      stopwatch.Start(); 
      timer1.Start(); 

      if (stopwatch.Elapsed.Minutes==numericUpDown1.Value) 
      { 
       Process.Start("shutdown", "/s /t 0"); 
       stopwatch.Stop(); 
       timer1.Stop(); 
      } 
     } 
     else 
     { 
      MessageBox.Show("Please enter the correct minutes"); 
      numericUpDown1.Value = 0; 
     } 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     progressBar1.Increment(1); 
    } 

Es scheint, als ob der Wert von numicicUpDown nicht erkannt wird.Der Computer wird nicht mit diesem Code heruntergefahren (Cis)

+0

Sie haben bereits 'int Minuten' erstellt, warum vergleichen Sie nicht, dass – Jonesopolis

+0

ich versuchte, das zu tun, aber es funktioniert immer noch nicht. –

+1

Wie soll das funktionieren? Sie starten eine Stoppuhr und überprüfen sie fast sofort, nichts danach. Dies muss komplett überarbeitet werden. – kiziu

Antwort

1

Es gibt einige Fehler in Sie Code Vorschlag:

int secs = minutes * 60; 
progressBar1.Maximum = secs; 
timer1.Enabled = true; 

stopwatch.Start(); 
timer1.Start(); 

if (stopwatch.Elapsed.Minutes==numericUpDown1.Value) 
{ 
    Process.Start("shutdown", "/s /t 0"); 
    stopwatch.Stop(); 
    timer1.Stop(); 
} 

Was passiert, wenn Sie dort? Sie starten Ihre Stoppuhr und Ihren Timer. Aber nichts wird auf Ihren Timer warten. Also checkst du nach (stopwatch.Elapsed.Minutes==numericUpDown1.Value), die nur ein paar Millisekunden nach dem Start deines Codes ausgeführt werden - dein Programm wird nicht mehr nach der Anweisung suchen, bis du erneut deine button drückst und so nie herunterfahren wirst, denn wenn du auf deine Schaltfläche klickst Deine Zeit bis zum neuen Wert.

bool goon = true; 
while(goon) 
{ 
    //... check your time here 
    // if true goon = false; 
} 
Verwandte Themen