2017-05-19 3 views
0

Wenn ich den ersten Knopf klicke, funktioniert es, aber danach tut es nichts. Ich habe versucht, das zu debuggen und ich habe nachgeschlagen, aber ich kann keine Antwort finden. Ich bemerke wahrscheinlich einfach nichts Offensichtliches.C# Button nicht mehr als einmal ausgelöst

private void button5_Click(object sender, EventArgs e) 
    { 
     string[] files; 

     files = Directory.GetFiles("Tasks"); 

     foreach (string file in files) 
     { 
      string[] lines; 
      StreamReader reader = new StreamReader(file); 
      lines = File.ReadAllLines(file); 
      tasks.Add(lines[0]); 
      reader.Close(); 
     } 

     listBox1.DataSource = tasks; 
    } 
+1

Nichts da die Taste deaktivieren. Versuchen Sie, einen Unterbrechungspunkt in der ersten Zeile zu platzieren, um zu sehen, ob er beim zweiten Drücken der Taste gedrückt wird. _ (Entferne auch die beiden "Leser" -Zeilen ... du verwendest den StreamReader nicht.) _ –

+0

@GrantWinney Danke für den Rat, ich werde es versuchen. Danke auch an die Leserzeilen! –

Antwort

0

Ihr Problem ist nicht mit der Schaltfläche. Es ist mit der Listbox. Es wird nicht ordnungsgemäß aktualisiert, da es keine Änderung in Ihrer Datenquelle erkennt.

Probieren Sie es vor dem Update so auf null einstellen es weiß, es verändert:

listBox1.DataSource = null; 
listBox1.DataSource = tasks; 

Alternative Methode:

Sie können auch eine Binding statt einer regulären Liste verwenden.

Siehe hier: How to refresh DataSource of a ListBox in C# WinForms

Verwandte Themen