2016-05-06 7 views
0

So versuchen 30 Minuten Zeitintervalle hinzuzufügen dringend combobox ich, wenn das Drop-Down-Menü wie folgt angezeigt:mit Abständen in ComboBox in C# Hinzufügen von Zeit

8:00 8:30 9:00 und so her. Ich schreibe dieses Stück Code:

public FormNewAppointment() 
{ 
    InitializeComponent(); 
    cmbBoxLength.Items.AddRange(new object[] { 30, 60, 90 }); 
    for (DateTime tm = time.AddHours(8); tm < time.AddHours(22); tm = time.AddMinutes(30)) 
    { 
     cmbBoxStart.Items.Add(tm.ToShortTimeString()); 
    } 
} 

und ich versuche, das Programm laufen zu lassen ... es stürzt ab, so versuche ich, es zu debuggen ... ich einen Haltepunkt in der Schleife setzen, da das Problem genau dort wurde konzentriert. Und zu meiner Überraschung lief die Schleife unendlich weiter ... Der erste Wert war korrekt um 8.00 Uhr, aber danach, egal wie oft ich es lief, nur um 12.30 Uhr Wert wurde eingefügt ... Ich habe unten ein Bild zu zeigen, was ich rede ...

ComboBox loop error with time intervals

Und natürlich die typische Frage stellt sich ... Was mache ich falsch? Die Syntax sieht für mich ok aus, aber ich vermisse etwas. Ich stecke fest !!

Antwort

3

versuchen, Ihren Code so zu ändern:

for (DateTime tm = time.AddHours(8); tm < time.AddHours(22); tm = tm.AddMinutes(30)) 
      { 
       cmbBoxStart.Items.Add(tm.ToShortTimeString()); 

      } 

nur tm.AddMinutes(30)) statt tm = time.AddMinutes(30)

+0

Es hat funktioniert! Vielen Dank!! –

+0

Ich bin froh, das zu hören, bitte markieren Sie die Antwort –

2

Jede Schleife verwenden Sie die ursprüngliche time Variable. Dies ändert sich nicht und wird immer gleich sein.

public FormNewAppointment() 
{ 
    InitializeComponent(); 
    cmbBoxLength.Items.AddRange(new object[] { 30, 60, 90 }); 

    DateTime EndTime = time.AddHours(22);  

    for (time = time.AddHours(8); time < EndTime; time = time.AddMinutes(30)) 
    { 
     cmbBoxStart.Items.Add(time.ToShortTimeString()); 
    } 
} 
+0

Auch diese Lösung funktioniert !! Einfacher Fehler, leicht zu übersehen und wenn schwindelig schwer zu finden !! Vielen Dank!! –

Verwandte Themen