C#按钮不会多次触发

时间:2017-05-19 18:34:44

标签: c# button

当我第一次点击按钮时,它可以工作,但在那之后,它什么也没做。我试图调试这个,我查了一下,但我找不到答案。我可能只是没有注意到一些明显的东西。

    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 个答案:

答案 0 :(得分:0)

问题不在于按钮。这是列表框。它没有正确更新,因为它没有检测到数据源的变化。

尝试在更新前将其设置为null,以便它知道它正在改变:

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

替代方法:

您也可以使用BindingList而不是常规列表。

见这里: How to refresh DataSource of a ListBox in C# WinForms