2016-04-29 8 views
-2

jetzt habe ich eine Listbox Ich muss hinzufügen, in ihm Name des Tages und der Zeit und das Programm lesen jedes Element in Listbox Auto und wenn das erste Element = mein PC Tag und Zeit zeigen Nachricht und so weiter ... Aber ich habe dat Fehler, wenn das Programm den letzten Artikel erreichen, geben Sie mir diesen Fehler Und wenn ich auf Start-Taste klicken, es nicht warten, bis der erste Artikel = mein PC Tag und Zeit es auf jeden Gegenstand gehen bis zum letzten geben Sie mich dieser FehlerListbox Fehler C#

Hinweis: Wenn ich die unten genannten Codes in VB seine Arbeit gut wegen dieser Code 'On Error Resum Next' So ist es in Ordnung, aber in C# Ich kann diesen Code nicht setzen, so gibt es ein Äquivalent von 'On Fehler Resume Next '? Zur Lösung dieses Problems

Error Photo Here

aber es funktioniert in Visual Basic 100%

In Taste fügen Sie Artikel zu listbox Code:

Listbox5.items.add(textbox1.text + textbox2.text) 
Listbox5.selectedindex=0 

in Button1 Timer-Code starten:

timer1.enabled=true; 

in Timer1-Code:

+0

Sie haben vor dem überprüfen, ob die Listbox genügend Elemente enthält –

Antwort

0

Ihr Code zeigt, dass Sie nur ein Element zur ListBox hinzufügen, aber dann erhöhen Sie den SelectedIndex zu einem Index, der nicht existiert.

Entfernen Sie Listbox.selectedindex +=1 ODER fügen Sie etwas neues dem List-Feld hinzu, bevor Sie den ausgewählten Index inkrementieren, um den Fehler zu beheben.

+0

es hilft nicht entfernen, wenn er es tatsächlich erhöhen will. Überprüfen Sie jedoch, ob genügend Elemente vorhanden sind. –

+0

Sein Kommentar ist nicht sehr klar in Bezug auf was er tun will, also habe ich nichts angenommen. Er erhöht den Index, bevor er etwas hinzufügt. –

+0

Ich stimme damit überein, dass es nicht klar ist. Aber da er es tut, müssen wir annehmen, dass es einen Grund dafür gibt. Und wenn das zum Beispiel visuell durch die ListBox läuft, hilft das Entfernen nicht. Deshalb denke ich, dass man eine Veränderung vorschlagen sollte und nicht die Entfernung (es sei denn, es kann ernsthafte Probleme verursachen). –

0

Ich bin immer noch nicht folgen, was Ihr Code tatsächlich versucht zu tun, aber das Problem wäre SelectedIndex auf einen Wert, der höher als der Max-Index in der ListBox ist.

Sie wahrscheinlich so etwas wie diese wollen ...

if (listbox5.text= datetime.now.tostring("ddd") +datetime.now.tolongtime()) 
{ 
    Messagebox.show("done") 
    //I'm guessing you would want to disable the timer here 
} 
else 
{ 
    if (Listbox.SelectedIndex < (Listbox.Itmes.Count - 1)) 
    { 
     Listbox.SelectedIndex +=1 
    } 
    else 
    { 
     //No more items to check so probably need to disable timer and do something else 
    } 
}